Software Design Process Flashcards
(24 cards)
Encompasses the set of principles, concepts, and practices that lead to the development of a high-quality system or product
Software Design
An alternative process through which requirements are translated into a “blueprint” for constructing the software
Software Design
Represents a holistic view of the software itself
Blueprint
Four major areas of design concern in software engineering
- data
- architecture
- interfaces
- components
Software can be viewed as both — and —
Process and a Model
A sequence of the steps that enable the designer to describe all aspects of the software to be built
Design Process
What’s the emphasis in design mainly about?
Quality
It has played a major role as it evolves as procedural aspects of design definition
Structured Programming
It was introduced as new design process in deriving design
Object Oriented Approach
created by transforming the analysis information model (data dictionary and Entity Relationship Diagram-ERD) into data structure required to implement the software
Data Design
Defines the relationships among the major structural elements of the software, the “design patterns” that can be used to achieve the requirements that have been defined for the system, and the constraints that affect the way in which the architectural pattern can be applied
Architectural Design
Derived from the system specification, the analysis model, and the subsystem interactions defined in the analysis model (Data Flow Diagram-DFD)
Architectural Design
Representation of the logical relationship among individual data elements (requires at least as much attention as algorithm design)
Data Structure
Contents of Design Specification Model
- Data Design
- Architectural Design
Contents of Design Specification Model
- Interface Design
- Component-level Deign
It describes how the software elements communicate with each other, with other systems, and with human users; the data flow and control flow diagrams provide much of the necessary information required
Interface Design
It is created by transforming the structural elements defined by the software architecture into procedural descriptions of the software components using information obtained from the process specification(PSPEC), control specification(CSPEC), and state transition diagram(STD)
Component-level Diagram
Overall structure of the software components and the ways in which that structure provides conceptual integrity for a system
Software Architecture
Criteria for a good design
- good architectural structure
- Modularity
- distinct representations (data, architecture, interfaces, and components)
- appropriate data structures, recognizable design patterns
- independent functional characteristics
- simple interfaces shows good connections between modules
- driven by info from software req analysis
The degree to which software can be understood by examining its components independently of one another
Modularity
Engineering Design Process
- Customer Needs
- Design Objectives
- Plan Solution
- Analyze and Optimize Solution
- Validate Results (against customer needs)
- Implement Design
Customer needs can be understand in both
functional and non-functional requirements
Scope of the project
Functional requirements
Economics(time, cost) including total life cycle costs, design, implementation, maintenance, decommissioning (recycling), Aesthetics
Non-Functional requirements