SlideShare a Scribd company logo
1 of 43
System Design
G.Murugeswari
Asso. Prof. of CSE Dept.
MS University
6-Apr-19 1
System Design
• Design:
– Evolving the analysis model to Design Models
– Packages and Package Diagrams
– Design Strategies
– Developing the Actual Design
• Object Design
– Object Design Activities
– Method Specifications
• Data Management Layer Design
– Object-Persistence Formats
– Designing Data Access and manipulation classes.
Design
Evolving the analysis model to Design Models
• Design:
– Create a blue print
– Examine design strategies
– User Interfaces, input and outputs
– Physical Architecture decisions are made
• Hardware, software, Centralized, Distributed
– Global Issues and Security
Design
Evolving the analysis model to Design Models
• Functional and Non-functional requirements
are addressed.
Problem domain-oriented analysis models into
Optimal solution domain oriented
1. Factoring
2. Partitions and collaborations
3. Layers
Evolving the analysis model to Design Models
Factoring
• Separating out a module into standalone
module in and of itself.
• Find out the similarities and apply generalization,
aggregation relationships.
• Abstraction, Refinement
Evolving the analysis model to Design Models
Partitions and Collaborations
• Partition is the object oriented equivalent
of a subsystem.
• Communication Diagram –Identifies
collaborations
– Coupling and cohesion
Evolving the analysis model to Design Models
Layers
• Represents an element of the s/w architecture
• Other elements: User interface, data access,
Management
• Foundation : classes of data types , Abstract classes
– Eg : Date, Time
• Physical Architecture : Classes and communication
between s/w and computer, middleware
• Human Computer Interaction : User interface ( Buttons,
Windows )
• Data Management storage and retrieval
• Problem Domain : OO concepts
Package Diagram
Identifying Packages and Creating PD
Package Diagram
Logical Grouping of UML elements
Simplify UML Diagrams by grouping related
elements into a single higher level elements
Dependency Relationship
Represents dependency between the packages
Arrow - > Drawn from the dependent
package toward the package on which it is
dependent
Package
Package Diagram
Package Diagram
Data Management
Problem Domain
Physical Architecture
Human Computer
Interaction
Foundation
Package Diagram of Dependency Relationships among Layers
Package Diagram
Identifying Packages and Creating PD
I. Set the context
II. Cluster classes together based on shared
relationships
III. Model clustered classes as package
IV. Identify the dependency relationships
among packages
V. Place dependency relationships between
packages
Design Strategies
• Custom development
• Packages software
• Outsourcing
Design Strategies
Custom development
• Custom development
– Complete control over the system
– Standard Technology, Interfaces
– Technical skill and Functional Knowledge within the
company
– Understanding business grows
– Dedicated effort (long hours , hard work)
Risk :
– No Guarantee on success
– Pulled away to work on other projects
– Technical obstacles
– Business users become impatient with growing timeline
Design Strategies
Packaged Software
• Packaged Software
– “Reinvent the Wheel “
• Eg. : Word Processor, Pay roll
– Diff. Range of Reusable Components
• ActiveX, Single Function tool – ERP Application
– Packaged Applications allow for customization
• Logo
– “ Workaround” can be created if Amount of customization
is not enough
• Last resort - Not supported by vendors
– System Integration - Combines Packaged s/w existing
legacy systems and new software written. Challenge :
Data produced by different packages, Identifying
Transformations
– Object Wrapper – Object wraps around a legacy system
Design Strategies
Outsourcing
• Outsourcing : Hiring external vendor,
developer or service provider.
– Popular in recent years
– Technology Experienced Developer,
Resources Availability ,Low cost
– Adds value to business
– Lose control over future development
Risk :
1. Understanding Requirements
2. Selection of Vendor
Design Strategies
Outsourcing
• Contract
– Time and Arrangement
– Fixed Price Contract
– Value added contract
Design Strategies
Use custom
development when
Use a Packaged
system when
Use Outsourcing
when
Business Need Unique Common Not core to the
business
In-house
Experience
In-house
Functional and
Technical
Experience exists
In House
Functional
experience exists
In-house Functional
and Technical
Experience does not
exists
Project Skills
Project
Management
Time Frame
Desire to build
In-house skills
Skills are not strategic Outsourcing is a
strategic decision
Has High skilled
project manager and
proven methodology
Project Manager
coordinates vendor
effort
Highly skilled
manager matches the
scope of outsourcing
Flexible Short Short or flexible
Developing Actual Design
• Alternative Matrix
– Organizes pros and cons of the design
methods
– Combines flexibility analyses into one matrix
Alternative Matrix
Alternative –I
Shop-with-Me
Alternative –II
Web Shop
Alternative –III
Shop-N-Go
Technical
Feasibility
C . C Experience
in-house
C and Java
Develop C and
Java Skill
Java. Develop in-
house Java Skills
Economic
Feasibility
$150 $700 no yearly
charges
$200/ Year
Organization
al Feasibility
Pgm used by other
companies
Pgm used by other
companies
Few companies
have experience
with shop-n-go
Other
Benefits
Simple to use Tom had limited
experience. Bit
positive experience
with this
Other
Limitations
Interface is not
clearly customized
Object Design Activities
• Activities used to design classes and
methods
–Additional Specification
–Identifying opportunities for reuse
–Restructuring the design
–Optimizing the Design
–Mapping the problem domain classes to
an implementation language
Object Design Activities
Additional Specification
• Ensure that the classes are necessary and
sufficient
– Ensure : No Missing Attribute/ Method, no extra ,
unused attribute or methods.
• Finalize the visibility
• Eg. :Smalltalk : Attributes are hidden and methods are
visible
• Decide on signature of every method in every
class (Signature : Name of the method, parameter, return value)
• Define constraints that to be preserved by the
object
• Constraints : Pre, post, invariant Eg: : Age
• Handling Violations of constraints
Object Design Activities
Identifying opportunities for Reuse
1.Design Patterns
2.Framework
3.Class Library
4.Component
Object Design Activities
Identifying opportunities for Reuse
 Design Patterns
 Group of collaborating classes.
 Interfaces
 Eg. Command Processor pattern,
Forwarder Receiver Pattern,
Design patterns in C++ , Java
Object Design Activities
Identifying opportunities for Reuse
 Framework
 Composed of set of implemented
classes.
 CORBA, DCOM Fm used in
Physical arch.
Object Design Activities
Identifying opportunities for Reuse
 Class Library
 set of implemented classes
designed for reuse.
 CL for Numerical, Statistical
processing
 Eg: Greatest Number uses Max
function
Object Design Activities
Identifying opportunities for Reuse
 Component
 Piece of s/w plugged into a
system
 Has well defined API
 Implemented using Class lib. and
framework.
 Mainly used in problem domain
Object Design Activities
Restructuring the Design
 Factoring : Reviewing a set classes on
layer.
 Normalization : Helps to identify
missing classes
 To define relationship, associations and
aggregations as attribute.
 Inheritance relationship for checking
generalization/specialization
Object Design Activities
Optimizing the Design
Relationship between the efficiency and
understandability
 Increasing the understandability will result in
design that is more difficult to understand
 Review the access paths between objects
 Review each attribute of each class
 Move the attribute to speedup the process
Object Design Activities
Optimizing the Design
 Review the direct and indirect fan-out
 Optimize
 Look at execution of order of the statement
 Searching an attribute
 Avoid re-computation
 Total, Average
Method Specification
• Documents that include explicit instruction
on how to write the code to implement the
method
• Needs to be clear and easy to understand
• No formal syntax
• Components
– General Information
– Events
– Message Passing
– Algorithm Specification
Method Specification Form
Method Name: Class Name: ID:
Contract ID: Programmer: Date Due:
Programming Language:
Visual Basic Smalltalk c++ Java
Triggers/Events:
Arguments Received:
Data Type: Notes:
Messages Sent & Arguments Passed:
ClassName.Method Name Data Type: Notes:
Argument Returned:
Data Type: Notes:
Algorithm Specification:
Misc.Notes:
Algorithm Specification in structured English
Common Statements Examples
Action Statement
profits=Revenues – Expenses
Generate Inventory-Report
If Statement
IF Customer Not in the Customer Object Store
THEN Add Customer record to Customer Object
Store
ELSE Add Current-Sale to Customer’s Total-Sales
UPDATE Customer record in Customer Object Store
For Statement
FOR all Customers in Customer Object Store DO
Generate a new line in the Customer-Report
Add Customer’s Total-sales to Report-Total
Case Statement
CASE
IF Income<10,000: Marginal-tax-rate = 10 percent
IF Income<20,000: Marginal-tax-rate = 20 percent
IF Income<30,000: Marginal-tax-rate = 30 percent
IF Income<40,000: Marginal-tax-rate = 40 percent
ELSE Marginal-Tax-Rate = 38 percent
ENDCASE
Pseudocode
(Get_CD_Info module)
Accept (CD.Title) (Required)
Accept (CD.Artist) (Required)
Accept (CD.Category) (Required)
Accept (CD.Length)
Return
Data Management Layer Design
• Design of storage, Data Access and
Manipulation logic
• How data is stored and handled by the
programs that run the system
• For steps
1. Selecting the format of storage
2. Mapping the problem domain object to object-
persistence format
3. Optimizing the object-persistence format
4. Designing the data access to handle commn. between
the system and database.
Data Management Layer Design
• Design of storage, Data Access and
Manipulation logic
• How data is stored and handled by the
programs that run the system
• Four steps
1. Selecting the format of storage
2. Mapping the problem domain object to object-
persistence format
3. Optimizing the object-persistence format
4. Designing the data access to handle commn. between
the system and database.
Data Management Layer Design
• Design of storage, Data Access and
Manipulation logic
• How data is stored and handled by the
programs that run the system
• Four steps
2. Mapping the problem domain object to object-
persistence format
3. Optimizing the object-persistence format
4. Designing the data access to handle commn. between
the system and database.
Data Management Layer Design
Types :
Files (Sequential and Random Access)
Object –Oriented Databases
Object –Relational Databases
Relational - Databases
Data Management Layer Design
Files (Sequential and Random Access)
Ordered, Unordered
Types : Master file, Look-up file, Transaction file,
Audit file and history files.
Data Management Layer Design
• Relational Databases
– Keys, Constraints, Referential Integrity
– SQL ( Structured Query Language)
– Eg.: MS Access, Oracle, DB2, SQL Server
– Design: Class Diagram to Relational db
schema
Data Management Layer Design
• Object-Relational DBMS
– RDBMS with extension to handle the storage
of Objects in relational table (User defined
data types)
• RDBMS : simple data type, ORDBMS : Complex
(Map)
• Eg.: DB2, Informix, Oracle ( Extends the Support
for Object )
– Many ORDBMS does not support many of
OO features (Eg: Inheritance). Different
methods.
Data Management Layer Design
• Object-Oriented DBMS
– 2 Approaches
– Adding persistence extension to OO Language
– Creation of entirely new DB
– Defines ODL (Object Definition Language), OML
(Object Manipulation Language), OQL (Object Query
Language)
– Objects associated with an extent (Object ID)
– Supports for inheritance
– Supported by C++, Java, Smalltalk
– Supports Multi valued attributes, multimedia app.s ,
complex data (video, graphics and sound)
– Eg.: Gemstone, Jasmine, O2, POET, Versant
Data Management Layer Design
Sequential and
Random Access
Relational
DBMS
Object
RDBMS
OO
DBMS
Major Strengths Part of OOPL
Files can be designed
for fast performance
Good for Short term
storage
Can handle diverse
data needs
Leader in DB market
Based on
established
technology SQL
Handle complex
data
Handle
complex data
Direct support
for object
orientation
Major
Weakness
Redundant Data
No query Language
No access control
Cannot handle
complex data
No support for Object
Orientation
Impedance mismatch
btwn table & object
Limited support
for Object
Orientation
Impedance
mismatch btwn
table & object
Skills are hard
to find
Still Maturing
Technology
Data Types
Supported
Simple and complex Simple Simple and
complex
Simple and
complex
Types of App.
Supported
Transaction Processing Transaction
Processing
And decision Making
Transaction
Processing
And decision
Making
Transaction
Processing
And decision
Making
Existing
Storage
Formats
Organization
Dependent
Organization
Dependent
Organization
Dependent
Organization
Dependent
Future Needs Poor future prospects Good future prospects Good future
prospects
Good future
prospects
• Reference Book :
– Systems Analysis & Design with UML
Version 2.0 An Object Oriented Approach–
Alan Dennis,Barbara Haley
Wixom,DavidTegarden, Wiley India

More Related Content

What's hot

A Review and Analysis on Mobile Application Development Processes using Agile...
A Review and Analysis on Mobile Application Development Processes using Agile...A Review and Analysis on Mobile Application Development Processes using Agile...
A Review and Analysis on Mobile Application Development Processes using Agile...IJORCS
 
Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringMikel Raj
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleDhivyaa C.R
 
Formal approaches to software architecture design thesis presentation
Formal approaches to software architecture design   thesis presentationFormal approaches to software architecture design   thesis presentation
Formal approaches to software architecture design thesis presentationNacha Chondamrongkul
 
Chapter3 part3-cmm-for-cis6516
Chapter3 part3-cmm-for-cis6516Chapter3 part3-cmm-for-cis6516
Chapter3 part3-cmm-for-cis6516ZUbaria Inayat
 
Unit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software ArchitectureUnit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software ArchitectureDhivyaa C.R
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Introducing systems analysis, design & development Concepts
Introducing systems analysis, design & development ConceptsIntroducing systems analysis, design & development Concepts
Introducing systems analysis, design & development ConceptsShafiul Azam Chowdhury
 
An integrated security testing framework and tool
An integrated security testing framework  and toolAn integrated security testing framework  and tool
An integrated security testing framework and toolMoutasm Tamimi
 
Agile architecture
Agile architectureAgile architecture
Agile architecturePaul Preiss
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 

What's hot (19)

A Review and Analysis on Mobile Application Development Processes using Agile...
A Review and Analysis on Mobile Application Development Processes using Agile...A Review and Analysis on Mobile Application Development Processes using Agile...
A Review and Analysis on Mobile Application Development Processes using Agile...
 
Chap03
Chap03Chap03
Chap03
 
Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W Engineering
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
 
Sda 6
Sda   6Sda   6
Sda 6
 
Formal approaches to software architecture design thesis presentation
Formal approaches to software architecture design   thesis presentationFormal approaches to software architecture design   thesis presentation
Formal approaches to software architecture design thesis presentation
 
Chapter3 part3-cmm-for-cis6516
Chapter3 part3-cmm-for-cis6516Chapter3 part3-cmm-for-cis6516
Chapter3 part3-cmm-for-cis6516
 
Unit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software ArchitectureUnit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software Architecture
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Software design
Software designSoftware design
Software design
 
Introducing systems analysis, design & development Concepts
Introducing systems analysis, design & development ConceptsIntroducing systems analysis, design & development Concepts
Introducing systems analysis, design & development Concepts
 
An integrated security testing framework and tool
An integrated security testing framework  and toolAn integrated security testing framework  and tool
An integrated security testing framework and tool
 
Bank managment system
Bank managment systemBank managment system
Bank managment system
 
Agile architecture
Agile architectureAgile architecture
Agile architecture
 
SAD 2nd PPT
SAD 2nd PPTSAD 2nd PPT
SAD 2nd PPT
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 

Similar to Object Oriented System Design

Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptitadmin33
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and designRobinsonObura
 
KSU IT4983 Capstone Projects Report 2017 Update
KSU IT4983 Capstone Projects Report 2017 UpdateKSU IT4983 Capstone Projects Report 2017 Update
KSU IT4983 Capstone Projects Report 2017 UpdateJack Zheng
 
data structures and its importance
 data structures and its importance  data structures and its importance
data structures and its importance Anaya Zafar
 
KSU IT Capstone Report 2012-2017.pdf
KSU IT Capstone Report 2012-2017.pdfKSU IT Capstone Report 2012-2017.pdf
KSU IT Capstone Report 2012-2017.pdfJack Zheng
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
Case tools and modern process of system development
Case tools and modern process of system development Case tools and modern process of system development
Case tools and modern process of system development tushar217
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssadPreeti Mishra
 
System Development Overview Assignment 3
System Development Overview Assignment 3System Development Overview Assignment 3
System Development Overview Assignment 3Ashley Fisher
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slidesvenkatasubramanianSr5
 
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptunit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptWrushabhShirsat3
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babuHem Rana
 
Software design for scientific applications
Software design for scientific applicationsSoftware design for scientific applications
Software design for scientific applicationsPriyanka Lal
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTmalathijanapati1
 
CIS 525 Education guide/Tutorialrank.com
CIS 525 Education guide/Tutorialrank.comCIS 525 Education guide/Tutorialrank.com
CIS 525 Education guide/Tutorialrank.comnummaju
 

Similar to Object Oriented System Design (20)

Unit 2
Unit 2Unit 2
Unit 2
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
KSU IT4983 Capstone Projects Report 2017 Update
KSU IT4983 Capstone Projects Report 2017 UpdateKSU IT4983 Capstone Projects Report 2017 Update
KSU IT4983 Capstone Projects Report 2017 Update
 
data structures and its importance
 data structures and its importance  data structures and its importance
data structures and its importance
 
KSU IT Capstone Report 2012-2017.pdf
KSU IT Capstone Report 2012-2017.pdfKSU IT Capstone Report 2012-2017.pdf
KSU IT Capstone Report 2012-2017.pdf
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Case tools and modern process of system development
Case tools and modern process of system development Case tools and modern process of system development
Case tools and modern process of system development
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
System Development Overview Assignment 3
System Development Overview Assignment 3System Development Overview Assignment 3
System Development Overview Assignment 3
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slides
 
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptunit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babu
 
Software design for scientific applications
Software design for scientific applicationsSoftware design for scientific applications
Software design for scientific applications
 
DE PPT.pptx
DE PPT.pptxDE PPT.pptx
DE PPT.pptx
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
CIS 525 Education guide/Tutorialrank.com
CIS 525 Education guide/Tutorialrank.comCIS 525 Education guide/Tutorialrank.com
CIS 525 Education guide/Tutorialrank.com
 
Analysis
AnalysisAnalysis
Analysis
 

Recently uploaded

Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxNikitaBankoti2
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIShubhangi Sonawane
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 

Recently uploaded (20)

Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 

Object Oriented System Design

  • 1. System Design G.Murugeswari Asso. Prof. of CSE Dept. MS University 6-Apr-19 1
  • 2. System Design • Design: – Evolving the analysis model to Design Models – Packages and Package Diagrams – Design Strategies – Developing the Actual Design • Object Design – Object Design Activities – Method Specifications • Data Management Layer Design – Object-Persistence Formats – Designing Data Access and manipulation classes.
  • 3. Design Evolving the analysis model to Design Models • Design: – Create a blue print – Examine design strategies – User Interfaces, input and outputs – Physical Architecture decisions are made • Hardware, software, Centralized, Distributed – Global Issues and Security
  • 4. Design Evolving the analysis model to Design Models • Functional and Non-functional requirements are addressed. Problem domain-oriented analysis models into Optimal solution domain oriented 1. Factoring 2. Partitions and collaborations 3. Layers
  • 5. Evolving the analysis model to Design Models Factoring • Separating out a module into standalone module in and of itself. • Find out the similarities and apply generalization, aggregation relationships. • Abstraction, Refinement
  • 6. Evolving the analysis model to Design Models Partitions and Collaborations • Partition is the object oriented equivalent of a subsystem. • Communication Diagram –Identifies collaborations – Coupling and cohesion
  • 7. Evolving the analysis model to Design Models Layers • Represents an element of the s/w architecture • Other elements: User interface, data access, Management • Foundation : classes of data types , Abstract classes – Eg : Date, Time • Physical Architecture : Classes and communication between s/w and computer, middleware • Human Computer Interaction : User interface ( Buttons, Windows ) • Data Management storage and retrieval • Problem Domain : OO concepts
  • 8. Package Diagram Identifying Packages and Creating PD Package Diagram Logical Grouping of UML elements Simplify UML Diagrams by grouping related elements into a single higher level elements Dependency Relationship Represents dependency between the packages Arrow - > Drawn from the dependent package toward the package on which it is dependent Package
  • 10. Package Diagram Data Management Problem Domain Physical Architecture Human Computer Interaction Foundation Package Diagram of Dependency Relationships among Layers
  • 11. Package Diagram Identifying Packages and Creating PD I. Set the context II. Cluster classes together based on shared relationships III. Model clustered classes as package IV. Identify the dependency relationships among packages V. Place dependency relationships between packages
  • 12. Design Strategies • Custom development • Packages software • Outsourcing
  • 13. Design Strategies Custom development • Custom development – Complete control over the system – Standard Technology, Interfaces – Technical skill and Functional Knowledge within the company – Understanding business grows – Dedicated effort (long hours , hard work) Risk : – No Guarantee on success – Pulled away to work on other projects – Technical obstacles – Business users become impatient with growing timeline
  • 14. Design Strategies Packaged Software • Packaged Software – “Reinvent the Wheel “ • Eg. : Word Processor, Pay roll – Diff. Range of Reusable Components • ActiveX, Single Function tool – ERP Application – Packaged Applications allow for customization • Logo – “ Workaround” can be created if Amount of customization is not enough • Last resort - Not supported by vendors – System Integration - Combines Packaged s/w existing legacy systems and new software written. Challenge : Data produced by different packages, Identifying Transformations – Object Wrapper – Object wraps around a legacy system
  • 15. Design Strategies Outsourcing • Outsourcing : Hiring external vendor, developer or service provider. – Popular in recent years – Technology Experienced Developer, Resources Availability ,Low cost – Adds value to business – Lose control over future development Risk : 1. Understanding Requirements 2. Selection of Vendor
  • 16. Design Strategies Outsourcing • Contract – Time and Arrangement – Fixed Price Contract – Value added contract
  • 17. Design Strategies Use custom development when Use a Packaged system when Use Outsourcing when Business Need Unique Common Not core to the business In-house Experience In-house Functional and Technical Experience exists In House Functional experience exists In-house Functional and Technical Experience does not exists Project Skills Project Management Time Frame Desire to build In-house skills Skills are not strategic Outsourcing is a strategic decision Has High skilled project manager and proven methodology Project Manager coordinates vendor effort Highly skilled manager matches the scope of outsourcing Flexible Short Short or flexible
  • 18. Developing Actual Design • Alternative Matrix – Organizes pros and cons of the design methods – Combines flexibility analyses into one matrix
  • 19. Alternative Matrix Alternative –I Shop-with-Me Alternative –II Web Shop Alternative –III Shop-N-Go Technical Feasibility C . C Experience in-house C and Java Develop C and Java Skill Java. Develop in- house Java Skills Economic Feasibility $150 $700 no yearly charges $200/ Year Organization al Feasibility Pgm used by other companies Pgm used by other companies Few companies have experience with shop-n-go Other Benefits Simple to use Tom had limited experience. Bit positive experience with this Other Limitations Interface is not clearly customized
  • 20. Object Design Activities • Activities used to design classes and methods –Additional Specification –Identifying opportunities for reuse –Restructuring the design –Optimizing the Design –Mapping the problem domain classes to an implementation language
  • 21. Object Design Activities Additional Specification • Ensure that the classes are necessary and sufficient – Ensure : No Missing Attribute/ Method, no extra , unused attribute or methods. • Finalize the visibility • Eg. :Smalltalk : Attributes are hidden and methods are visible • Decide on signature of every method in every class (Signature : Name of the method, parameter, return value) • Define constraints that to be preserved by the object • Constraints : Pre, post, invariant Eg: : Age • Handling Violations of constraints
  • 22. Object Design Activities Identifying opportunities for Reuse 1.Design Patterns 2.Framework 3.Class Library 4.Component
  • 23. Object Design Activities Identifying opportunities for Reuse  Design Patterns  Group of collaborating classes.  Interfaces  Eg. Command Processor pattern, Forwarder Receiver Pattern, Design patterns in C++ , Java
  • 24. Object Design Activities Identifying opportunities for Reuse  Framework  Composed of set of implemented classes.  CORBA, DCOM Fm used in Physical arch.
  • 25. Object Design Activities Identifying opportunities for Reuse  Class Library  set of implemented classes designed for reuse.  CL for Numerical, Statistical processing  Eg: Greatest Number uses Max function
  • 26. Object Design Activities Identifying opportunities for Reuse  Component  Piece of s/w plugged into a system  Has well defined API  Implemented using Class lib. and framework.  Mainly used in problem domain
  • 27. Object Design Activities Restructuring the Design  Factoring : Reviewing a set classes on layer.  Normalization : Helps to identify missing classes  To define relationship, associations and aggregations as attribute.  Inheritance relationship for checking generalization/specialization
  • 28. Object Design Activities Optimizing the Design Relationship between the efficiency and understandability  Increasing the understandability will result in design that is more difficult to understand  Review the access paths between objects  Review each attribute of each class  Move the attribute to speedup the process
  • 29. Object Design Activities Optimizing the Design  Review the direct and indirect fan-out  Optimize  Look at execution of order of the statement  Searching an attribute  Avoid re-computation  Total, Average
  • 30. Method Specification • Documents that include explicit instruction on how to write the code to implement the method • Needs to be clear and easy to understand • No formal syntax • Components – General Information – Events – Message Passing – Algorithm Specification
  • 31. Method Specification Form Method Name: Class Name: ID: Contract ID: Programmer: Date Due: Programming Language: Visual Basic Smalltalk c++ Java Triggers/Events: Arguments Received: Data Type: Notes: Messages Sent & Arguments Passed: ClassName.Method Name Data Type: Notes: Argument Returned: Data Type: Notes: Algorithm Specification: Misc.Notes:
  • 32. Algorithm Specification in structured English Common Statements Examples Action Statement profits=Revenues – Expenses Generate Inventory-Report If Statement IF Customer Not in the Customer Object Store THEN Add Customer record to Customer Object Store ELSE Add Current-Sale to Customer’s Total-Sales UPDATE Customer record in Customer Object Store For Statement FOR all Customers in Customer Object Store DO Generate a new line in the Customer-Report Add Customer’s Total-sales to Report-Total Case Statement CASE IF Income<10,000: Marginal-tax-rate = 10 percent IF Income<20,000: Marginal-tax-rate = 20 percent IF Income<30,000: Marginal-tax-rate = 30 percent IF Income<40,000: Marginal-tax-rate = 40 percent ELSE Marginal-Tax-Rate = 38 percent ENDCASE
  • 33. Pseudocode (Get_CD_Info module) Accept (CD.Title) (Required) Accept (CD.Artist) (Required) Accept (CD.Category) (Required) Accept (CD.Length) Return
  • 34. Data Management Layer Design • Design of storage, Data Access and Manipulation logic • How data is stored and handled by the programs that run the system • For steps 1. Selecting the format of storage 2. Mapping the problem domain object to object- persistence format 3. Optimizing the object-persistence format 4. Designing the data access to handle commn. between the system and database.
  • 35. Data Management Layer Design • Design of storage, Data Access and Manipulation logic • How data is stored and handled by the programs that run the system • Four steps 1. Selecting the format of storage 2. Mapping the problem domain object to object- persistence format 3. Optimizing the object-persistence format 4. Designing the data access to handle commn. between the system and database.
  • 36. Data Management Layer Design • Design of storage, Data Access and Manipulation logic • How data is stored and handled by the programs that run the system • Four steps 2. Mapping the problem domain object to object- persistence format 3. Optimizing the object-persistence format 4. Designing the data access to handle commn. between the system and database.
  • 37. Data Management Layer Design Types : Files (Sequential and Random Access) Object –Oriented Databases Object –Relational Databases Relational - Databases
  • 38. Data Management Layer Design Files (Sequential and Random Access) Ordered, Unordered Types : Master file, Look-up file, Transaction file, Audit file and history files.
  • 39. Data Management Layer Design • Relational Databases – Keys, Constraints, Referential Integrity – SQL ( Structured Query Language) – Eg.: MS Access, Oracle, DB2, SQL Server – Design: Class Diagram to Relational db schema
  • 40. Data Management Layer Design • Object-Relational DBMS – RDBMS with extension to handle the storage of Objects in relational table (User defined data types) • RDBMS : simple data type, ORDBMS : Complex (Map) • Eg.: DB2, Informix, Oracle ( Extends the Support for Object ) – Many ORDBMS does not support many of OO features (Eg: Inheritance). Different methods.
  • 41. Data Management Layer Design • Object-Oriented DBMS – 2 Approaches – Adding persistence extension to OO Language – Creation of entirely new DB – Defines ODL (Object Definition Language), OML (Object Manipulation Language), OQL (Object Query Language) – Objects associated with an extent (Object ID) – Supports for inheritance – Supported by C++, Java, Smalltalk – Supports Multi valued attributes, multimedia app.s , complex data (video, graphics and sound) – Eg.: Gemstone, Jasmine, O2, POET, Versant
  • 42. Data Management Layer Design Sequential and Random Access Relational DBMS Object RDBMS OO DBMS Major Strengths Part of OOPL Files can be designed for fast performance Good for Short term storage Can handle diverse data needs Leader in DB market Based on established technology SQL Handle complex data Handle complex data Direct support for object orientation Major Weakness Redundant Data No query Language No access control Cannot handle complex data No support for Object Orientation Impedance mismatch btwn table & object Limited support for Object Orientation Impedance mismatch btwn table & object Skills are hard to find Still Maturing Technology Data Types Supported Simple and complex Simple Simple and complex Simple and complex Types of App. Supported Transaction Processing Transaction Processing And decision Making Transaction Processing And decision Making Transaction Processing And decision Making Existing Storage Formats Organization Dependent Organization Dependent Organization Dependent Organization Dependent Future Needs Poor future prospects Good future prospects Good future prospects Good future prospects
  • 43. • Reference Book : – Systems Analysis & Design with UML Version 2.0 An Object Oriented Approach– Alan Dennis,Barbara Haley Wixom,DavidTegarden, Wiley India