Design Engineering
Lecture number 7
Arvind w Kiwelekar
akiwelekar@gmail.com
Dr. B. A. Tech. university Lonere
Design Engineering – p. 1/1
Software Design as a Process
Actor Software Designer, Architect Goal To accurately transform a cutomer’s requirement to features of software product. Input Analysis Models(Class Based Model, Scenario Model, Behavioral Model) Output Detailed Design Models such as Data/Class Design, Architectural Design, Interface design Component level design Why Design is considered so important? Quality of the software product is ensured in the design phase. Design models act as basis for several software engineering activities.
Design Engineering – p. 2/1
Software Design as a Transformation Proce
Design Engineering – p. 3/1
Design Concepts
Abstraction
Data Abstraction For Example, Class Romm, Research Paper, Presentation Procedural Abstraction For Example, Registering for Term Paper Topic
Design Engineering – p. 4/1
Design Concepts
Architecture
Architecture Representation Models Structural Model Framewok Model Dynamic Models Process Models Functional Models
Design Engineering – p. 5/1
Design Concepts
Modularity
A software module is the development or implementation unit having no or few dependencies over other units. Modular approach has several benefits over monlithic approach in terms of testing, debugging, and maintainence. Identifying independent software module is one of prime concerns addressed software design
Design Engineering – p. 6/1
Design Concepts
Information Hiding
Information hiding is priciple of prtotecting data referenced by a module against improper use by other modules. The process of information hiding and abstraction assist to identify software modules. Information hiding minimizes the impact of change/modification to single implementation unit.
Design Engineering – p. 7/1
Design Concepts
Functional Independance
A module that implements a single functionality and with less interactions with other modules is said to be functionally independent module. Functional Independance is assessed with help of Cohesion Coupling
Design Engineering – p. 8/1
Design Concepts
Design Classes
User Interface classes Business Domain Class Process Classes Persistent Classes System Classes
Design Engineering – p. 9/1
Design Concepts
Some more design concepts
Refinement Refactoring Patterns
Design Engineering – p. 10/1
Design Models
Data Design Elements Architectural Design Elements Interface Elements Component-Level Elements Deployment Level elements
Design Engineering – p. 11/1
Architectural Styles
Data Centered Architecture Data-flow Architetcure Call-and-Return Architecture Object-Oriented Architecture Layered Architecture
Design Engineering – p. 12/1
Architectural Patterns
Concurrency Distribution Persistence
Design Engineering – p. 13/1