Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Design Lecture : 6

Similar presentations


Presentation on theme: "Software Design Lecture : 6"— Presentation transcript:

1 Software Design Lecture : 6

2 Software Design Components
Principle Criteria Techniques

3 , ,

4 Myth about Abstraction
Problem Statement Our task is to design an management information system for a hospital, it should include patient management, doctors management , laboratory management , inventory of equipment and medicines,

5 Traditional Approach Programmers Approach:
‘Which Technology to use for implementation ‘ System Architect Approach Forget the technology, first understand what to do in detail , generate Requirement Specification (RS)– This is Abstraction ,

6 Abstraction What to Do not How to do !!
A view of an object that focuses on the information relevant to a particular purpose and ignores the remainder of the information. IEEE Standard Abstraction is generally used for handling and reducing complexity , ,

7 Abstraction continue... Abstraction is simply removal of unnecessary details. To design a complex system, you must identify what about that part other parts should know in order to design their part ,

8 Benefits of Abstraction
Gives the designer freedom to ignore certain details, for the time being, and to determine or design the "big picture" aspects of his design

9 Decomposition Splitting one system into smaller components
Designing the components independently. For the outside world the components are reduced to their interfaces “Divide and Conquer” , , , ,

10 Decomposition Rules Don't design components to correspond to execution
steps – look for similar tasks – No Run-time binding Decompose so that all design decision have a minimum effect to the rest of the system – anything that soaks the system will be expensive to change ,

11 Decomposition continues....
Components should be specified by all information needed to use the component – nothing less and nothing more!

12 Subsystems A Subsystem is a secondary or subordinate system within a system. IEEE Standard

13 Subsystems A subsystem is a functionally cohesive grouping of classes that is a major part of a larger aggregate system Can be independently ordered, configured or delivered Subsystems are related to each other via dependency relations, and communicate with each other via well- defined interfaces , ,

14 Subsystems Decompose by functional services i-e Database Subsystem, User Interface Subsystem etc

15 , , ,

16 Subsystem Example Student Management Accounts Library Management
, , Library Management Hrm and Payroll

17 Layers Decomposition of the system into smaller, more
manageable units, that are layered hierarchically. Each layer supplies one level of abstraction A layer only uses services of the next underlying layer Layers can be tested independently , , ,

18 ,

19 , ,

20 Layers Rule Layer can request for services from exactly one layer below it. Layer can respond to a request of a layer exactly one layer above it. Total Layers = N = 3 Request = N-1 Response = N+ 1 Example on next slide , ,

21 Layer Rule High Level Architectural Diagram
Services Layers Request Operations Layers Response Student Data Management


Download ppt "Software Design Lecture : 6"

Similar presentations


Ads by Google