Upload
ashley-harrison
View
273
Download
2
Embed Size (px)
Citation preview
Structured Vs. Object Oriented Analysis and Design
SAD Vs. OOAD
1
Software process model
2
Requirements Specification
Design and Implementation Validation Evolution
Modeling
A model is an abstract view of a system
We create a model to gain better understanding of an entity, for example a model of a plane is a small plane.
When the entity is software, the model takes a different form.
3
A software Model
A software model must be capable of representing : the information that the software
transforms, the functions that enable the
transformation to occur, and the behavior of the system as the
transformation takes place.
4
Structured Analysis Vs. Object Oriented Modeling
1-Behavioural Models: Data processing models that show how data is processed as it moves through the system (Data Flow Diagram -DFD and Entity Relation diagram- ER).
Will be covered in this course
2- OR Object Models: Use case diagrams and Class diagram. Focus on Objects rather than data or process
Covered in previous course
5
Object Oriented Analysis and Design
OOAD
6
Commonly used UML diagram types
1. Activity diagrams, which show the activities involved in a process or in data processing .
2. Use case diagrams, which show the interactions between a system and its environment.
3. Sequence diagrams, which show interactions between actors and the system and between system components.
4. Class diagrams, which show the object classes in the system and the associations between these classes.
5. State diagrams, which show how the system reacts to internal and external events.
7
1- Context Model for ATM
8
Auto-tellersystem
Securitysystem
Maintenancesystem
Accountdatabase
Usagedatabase
Branchaccountingsystem
Branchcountersystem
Auto-tellersystem
Securitysystem
Maintenancesystem
Accountdatabase
Usagedatabase
Branchaccountingsystem
Branchcountersystem
Context models show what lies outside the system boundaries.
2- Interaction models A- Use case
A use case in the MHC-PMS
9
2- Interaction modelsB- Sequence diagrams
Sequence diagrams are part of the UML and are used to model the interactions between the actors and the objects within a system.
A sequence diagram shows the sequence of interactions that take place during a particular use case or use case instance.
The objects and actors involved are listed along the top of the diagram, with a dotted line drawn vertically from these.
Interactions between objects are indicated by annotated arrows.
10
Ex: Sequence diagram for View patient information
11
3- Structural modelsA- Class diagrams
An association is a link between classes that indicates that there is some relationship between these classes.
When you are developing models during the early stages of the software engineering process, think of objects represent something in the real world, such as a patient, a prescription, doctor, etc.
12
Ex: Classes and associations in the MHC-PMS
13
Ex:The Consultation class
14
4- Behavioral models
Behavioral models are models of the dynamic behavior of a system as it is executing. They show what happens or what is supposed to happen when a system responds to a stimulus from its environment.
15
4- Behavioral modelsA- Data-driven modeling – Activity diagram
Many business systems are data-processing systems that are primarily driven by data. They are controlled by the data input to the system, with relatively little external event processing.
Data-driven models show the sequence of actions involved in processing input data and generating an associated output.
They are particularly useful during the analysis of requirements as they can be used to show end-to-end processing in a system.
16
Data-driven modeling
Data flow diagrams (DFDs) may be used to model the system’s data processing.
These show the processing steps as data flows through a system.
UML does not support DFDs . UML use activity diagram instead.
17
Ex: An activity model of the insulin pump’s operation
18
4- Behavioral models B- Event-driven modeling - State diagram
Event-driven modeling shows how a system responds to external and internal events.
19
Ex: State diagram of a microwave oven
20
Structures Analysis and Design
SAD
21
Ex: DFD
22
Context diagram shows the system boundaries, external entities that interact with the system, and major information flows between entities and the system.
Structures Analysis Vs. Object Oriented
23
Comparison
24
Object Oriented Structured
Incremental/Iterative SDLC Methodology
Object Process Focus
Emerging Mature and wide spread Maturity
Large projects with changing requirements
Well defined projects with stable user requirements
Suitable for
25
We can always use a tool to draw any model
26
What is CASE?
27
CASE (Computer Aided Software Engineering)
Programs used to support software process activities such as system modeling, debugging, and testing
Some CASE tools include automatic code generation from diagrams.
References
http://www.slideshare.net/mksaad/structure-vs-object-oriented-analysis-and-design
Sommerville, Ian ,“Software Engineering”, 9th edition, PEARSON
28