Design model provides:
- Software architecture
- Data structure
- Interfaces
- Components
Design important because the model can be assessed for quality and improved before the code is generate, test and conduct.
Characteristics of a good design.
- Readable
- Understandable
- Provide good picture of a system / software
- Must implement all the requirements that already in analysis model
- Must consist the requirement that desired by the client/customer.
Design Concept |
1) Abstraction |
2) Architecture |
3) Patterns |
4) Separation of concerns |
5) Modularity |
6) Information hiding |
7) Functional Independence |
8) Refinement |
9) Aspects |
10) Refactoring |
11) OO Design concept |
12) Design classes
|
Abstraction: the process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically in order to retain only information which is relevant for a particular purpose.
Architecture: It refers to the overall structure of the software and the ways in which that structure provides conceptual integrity for a system. A good software architecture will yield a good return on investment with respect to the desired outcome of the project, e.g. in terms of performance, quality, schedule and cost.
Modularity: It is the process of elaboration. A hierarchy is developed by decomposing a macroscopic statement of function in a stepwise fashion until programming language statements are reached. In each step, one or several instructions of a given program are decomposed into more detailed instructions. Abstraction and Refinement are complementary concepts.
Refinement: It is the process of elaboration. A hierarchy is developed by decomposing a macroscopic statement of function in a stepwise fashion until programming language statements are reached. In each step, one or several instructions of a given program are decomposed into more detailed instructions. Abstraction and Refinement are complementary concepts.
Design model | Description |
Data/Class Design |
|
Architectural Design |
|
Interface Design
|
|
Component-Level Design
|
|
CASE Tools
- IBM Rational Software Architect
- Database Modeling: Enterprise Architect by Sparx Systems Pty Ltd.
- According to Shore and Chromatic ( 2007 “A good software design minimizes the time required to create, modify, and maintain the software while achieving run-time performance.
- Meanwhile, Elssamadisv (2007) said that :-
-For instance, design quality is dependent upon the programmers writing and maintaining the code.
o Design quality is change-specific.
-There are two general ways to make designs of higher quality with respect to this aspect:
· generalizing from the tools like design patterns, and
· using tests and refactoring as change-enablers
IEEE Standard for Information Technology -Systems Design - Software Design Descriptions (IEEE 1016-2009)
- This standard specifies an organizational structure for a software design description (SDD).
- An SDD is a document used to specify system architecture and application design in a software related project.
- Provides a generic template for an SDD.
No comments:
Post a Comment