StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Abstraction in Software Development - Essay Example

Cite this document
Summary
The author of the paper titled "Abstraction in Software Development" paper argues that abstraction reduces complexity by reducing the number of elements in the design. Correct abstraction simplifies the design and at the same time makes it less complicated. …
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER93.7% of users find it useful
Abstraction in Software Development
Read Text Preview

Extract of sample "Abstraction in Software Development"

In software architectures, abstractions are used hand in hand with idioms in the description of system components, the nature of interactions among the components, and the patterns guiding the composition of components into systems. Abstractions are usually supported by programming languages and tools. Assuming I am a software developer, I usually make use of abstractions in capturing packaging and interaction issues as well as in computational functionality.

Due to the constantly increasing complexity of the systems we use, reliance on abstractions increases in the software development industry. Each of these abstractions attempts to hide the complexity, allowing me as a software developer to create a code that can cater to all the variations in complexity that are required in modern computing. To create reliable software, there is a greater need for me to learn and understand many of the abstractions and underlying details. Abstraction also finds a lot of applications in software reuse.

In this case, abstraction plays a central role. For effective software artifacts reuse, concise and expressive abstractions are essential. Higher levels of abstractions in the reuse technique reduce the effort required to go from the initial concept of a software system to representations in the reuse technique (Medvidovic & Taylor 2000: 70-93). During the verification of software, abstraction is highly used. This allows debugging of a specific software component. Simulation and validation of the software component are done at each abstraction level, resulting in the abstraction of different components of the target hardware architecture.

The abstract architecture model hides details of the underlying implementation of the hardware platform while ensuring a sufficient level of control that the software code can be validated in terms of performance, efficiency, and reliable functionality (Popovich, 2010: 17). How abstraction helps in software development abstraction is a powerful heuristic. It has allowed the development of systems that implement and integrate abstraction in the problem-solving process. The development of systems with abstraction helps to improve the efficiency of the systems.

On the other hand, from the basic understanding that abstraction hides the complexity underlying the systems, we deduce that it reduces the search space. The concept of data abstraction helps software developers in the integration of both structural and behavioral properties of databases. The development of database concepts requires consideration of the applicability of tools and techniques in programming languages to develop a proper database. In addition, abstraction helps developers to model algebraic and software objects.

The algebraic methodology provides a mathematical foundation for software development technology. Abstractions also help developers because they help in providing a test bed for experiments having a variety of system construction mechanisms. Abstract interactions such as data flow and scheduling allow expression and checking of appropriate compatibility restrictions and configuration constraints (Medvidovic & Taylor 2000: 70-93). Appropriate abstractions, therefore, have to be chosen in software development.

Abstraction removes details from the view of the system but not from the system. To prevent the loss of the essence of software design calls for use of modern techniques. An abstraction is a useful tool that reduces the complexity of a software design, perceived by human viewing. 

Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“As a software developer give examples of where you use abstraction in Essay”, n.d.)
As a software developer give examples of where you use abstraction in Essay. Retrieved from https://studentshare.org/logic-programming/1662985-as-a-software-developer-give-examples-of-where-you-use-abstraction-in-your-daily-job
(As a Software Developer Give Examples of Where You Use Abstraction in Essay)
As a Software Developer Give Examples of Where You Use Abstraction in Essay. https://studentshare.org/logic-programming/1662985-as-a-software-developer-give-examples-of-where-you-use-abstraction-in-your-daily-job.
“As a Software Developer Give Examples of Where You Use Abstraction in Essay”, n.d. https://studentshare.org/logic-programming/1662985-as-a-software-developer-give-examples-of-where-you-use-abstraction-in-your-daily-job.
  • Cited: 0 times

CHECK THESE SAMPLES OF Abstraction in Software Development

Abstraction in Java

abstraction as used in Java Programming is a simplification of a complex reality through modeling classes that are appropriate to the problem, while working at the level of inheritance that is most appropriate for a certain aspect of the problem .... abstraction as used in Java Programming is a simplification of a complex reality through modeling classes that are appropriate to the problem, while working at the level of inheritance that is most appropriate for a certain aspect of the problem (Benjamin, 2007)....
3 Pages (750 words) Research Paper

Contemporary Software Systems: Singularity

Singularity is a Microsoft Research project to develop techniques and tools for building dependable systems that address the challenges faced by contemporary software systems.... Singularity will improve software reliability and boost research in programming language and tools.... Singularity is based on advances in programming languages and programming tools to develop and build a new system architecture and operating system (named Singularity), with the aim of producing a more robust and dependable software platform....
10 Pages (2500 words) Term Paper

Contemporary Software Systems

The paper 'Contemporary software Systems' presents problems that create challenges and opportunities for broad new OS research.... Singularity is a Microsoft Research project to develop techniques and tools for building dependable systems that address the challenges faced by contemporary software systems.... Singularity will improve software reliability and boost research in programming language and tools.... Singularity is based on advances in programming languages and programming tools to develop and build a new system architecture and operating system (named Singularity), with the aim of producing a more robust and dependable software platform....
10 Pages (2500 words) Case Study

Patterns and Software Development

A facade is able to formulate a software library that is simpler to utilize as well as understand, as the facade has suitable techniques for carrying out common tasks.... A facade is able to formulate a software library that is simpler to utilize as well as understand, as the facade has suitable techniques for carrying out common tasks....
9 Pages (2250 words) Coursework

Unified Software Development Process and OOAD

The author of the "Unified software development Process and OOAD" paper examines characteristics of RUP and OOAD, opportunities of using RUP with OOAD, applying the unified software development process to OOAD, and the future of the software development process.... The software development process has transitioned over the years.... Therefore, software development processes are a series of activities and stages through which the transformation goes....
9 Pages (2250 words) Report

Software and Design - Abstraction Techniques in Software Development

The importance of Abstraction in Software Development is it can recognize a pattern can name and define it, analyze and find a way to specify it, also abstraction can find a way to invoke a pattern without error-prone manual intervention.... The author of the paper "Software and Design - Abstraction Techniques in software development" argues in a well-organized manner that abstract techniques such as high-level languages and abstract data have improved the ability of a programmer to develop software....
6 Pages (1500 words) Essay

The Prologue of Software Abstraction Techniques

Identification, codification, and dissemination are the three chief problem areas that are likely to affect software development.... The paper "The Prologue of Software Abstraction Techniques" highlights that the development of software is now possible.... The development of software abstraction follows a well-established pattern in order to solve any impending problems within the software.... On the other hand, new challenges have been instituted by the development of new software....
6 Pages (1500 words) Article

The Designing of a New Component

The basis of the two decomposition sharing of access code and data presentation become the basis of developing abstract in software architectural development as well as system composition from the subsystems in the large-scale development.... The paper "The Designing of a New Component" highlights that the basis of modern development is based on the informal description, syntax, abstract model, evaluation criteria, semantics, implementation, design dimensions, history as well as selection criteria....
6 Pages (1500 words) Article
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us