Software Design
Software design is a process by which solutions are obtained by programming the software. Software developers employ low level components and algorithms to design this software. Software requirement analysis is done before designing software. The software development process proceeds on the basis of these requirements. The specifications that are obtained through the requirement analysis help to shape the program. Software program could be done with flow charts or text which describes the sequence of events. Besides these methods other semi standard methods like unified modeling language and fundamental modeling concepts are also used for designing software. On the basis of the technology available, the designing of the software could be platform independent or platform specific.
Design Concepts
Abstraction, Refinement, Modularity, Software Architecture, Control Hierarchy, Structural partitioning, Data Structure, Software procedure and Information hiding are the concepts that are employed while designing software. The information content is reduced and only relevant information is retained in abstraction. During the refinement stage, hierarchy is developed elaborately through step by step instructions. Abstraction and Refinement enhance one another. The software is then assimilated to modules. The structure of the software is analyzed for efficient performance, cost and schedules. The program is then partitioned both vertically and horizontally. The logical relations of the elements are then confirmed. Information of one module is concealed to another module when the latter does not need it.
Aspects of software designing
The software design is confirmed on the basis of its compatibility, extensibility, fault tolerance, maintainability, modularity, packaging, reliability, reusability, robustness, security and usability. A modeling language is used to chart the structure of the design. This modeling language could be textual or graphical. Any design that is common solution for problems is known as template. More specific software designing involves multi disciplinary designers and subject matter experts.
Importance of Design Evaluation
Software is also designed with the help of models. Since it is sensitive to the minutest mistakes, the implementation methodology is carefully evaluated before implementation. All sort of difficulties are proposed and solved in the evaluation of software design. The performance analysis and simulation routines are based on the source language description. All problems are detected in advance to avoid the heavy cost of reimplementation. The quality and reliability of the software is based on the evaluation. Making the apt decisions also depend a lot on these evaluations. Evaluation is assimilated into a lot of attributes which has to be successfully met to approve the design.
Questions:
| Name* : |
|||||
| Email* : |
|||||
| Country* : |
|||||
| Phone* : |
|||||
| Subject* : |
|||||
| Upload Homework : Upload another homework (upto 5 uploads max.)
|
|||||
| Due Date |
Time |
AM/PM |
Timezone |
||
| Instructions |
|||||
|
|||||