Software Development Methodologies
Lecturer: Raman Ramsin
Lecture 3
Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1)
Department of Computer Engineering
1
Sharif University of Technology
Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 - - PowerPoint PPT Presentation
Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1) Sharif University of Technology Department of Computer Engineering 1 Software Development
Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1)
Department of Computer Engineering
1
Sharif University of Technology
Software Development Methodologies – Lecture 3
Obj t O i t d D i (OOD) i 1991 Object-Oriented Design (OOD) in 1991
Department of Computer Engineering
2
Sharif University of Technology
[Coad and Yourdon 1991]
Software Development Methodologies – Lecture 3
The analysis (OOA) phase of the methodology consists of five
Finding “Classes” (abstract classes) and “Class-&-Objects“ (concrete
classes) classes)
Identifying “Structures” (generalization-specialization and whole-part
relationships between classes) relationships between classes)
Identifying “Subjects” (partitions/subsystems) Defining attributes, and “Instance-Connections” (association
relationships between classes)
Defining “Services” (class operations) and “Message-Connections”
(invocations of operations)
Department of Computer Engineering
3
Sharif University of Technology
Software Development Methodologies – Lecture 3
OOA/OOD Results are reflected in a special Class-&-Object
Subject layer: showing the overall partitions of the system Class-&-Object layer: showing the abstract and concrete classes of
the system
Structure layer: showing the generalization-specification and whole-
part relationships between the classes
Attribute layer: showing the attributes of the classes and the
association relationships between classes.
Service layer: showing the operations of the classes and the potential
message-passing between the objects
Department of Computer Engineering
4
Sharif University of Technology
Software Development Methodologies – Lecture 3
Department of Computer Engineering
5
Sharif University of Technology
[Coad and Yourdon 1989]
Software Development Methodologies – Lecture 3
During the design phase of the methodology (OOD) the system
Problem Domain Component (PDC): initially contains the results of the
analysis phase. During OOD, it is improved and enriched with implementation detail. implementation detail.
Human Interaction Component (HI C): handles sending and receiving
messages to and from the user. messages to and from the user.
Task Management Component (TMC): for systems needing to
implement multiple threads of control; defines the multi-task processing implement multiple threads of control; defines the multi task processing classes, coordinates the tasks (processes) and provides means for inter- task communication.
Data Management Component (DMC): provides the infrastructure to
store and retrieve objects; may be a simple file system, a relational database management system, or even an object-oriented database management system
Department of Computer Engineering
6
Sharif University of Technology
management system.
Software Development Methodologies – Lecture 3
TMC PDC HIC
4 4
DMC
Department of Computer Engineering
7
Sharif University of Technology
[Coad and Yourdon 1991]
Software Development Methodologies – Lecture 3
The knowledge an object maintains. The actions an object can perform
Department of Computer Engineering
8
Sharif University of Technology The actions an object can perform.
Software Development Methodologies – Lecture 3
Department of Computer Engineering
9
Sharif University of Technology
[Wirfs-Brock et al. 1990]
Software Development Methodologies – Lecture 3
Discovering the classes required to model the application Determining what behavior the system is responsible for and assign these responsibilities
g y p g p to specific classes
Determining what collaborations must occur between classes of objects to fulfill the
responsibilities.
CRC Card
Department of Computer Engineering
10
Sharif University of Technology
[Wirfs-Brock et al. 1990]
Software Development Methodologies – Lecture 3
Major tasks to be performed in this phase:
Department of Computer Engineering
11
Sharif University of Technology
Software Development Methodologies – Lecture 3
Collaboration Graph
Department of Computer Engineering
12
Sharif University of Technology
[Wirfs-Brock et al. 1990]
Software Development Methodologies – Lecture 3
Department of Computer Engineering
13
Sharif University of Technology
Software Development Methodologies – Lecture 3
weeks to months. M t f thi b i ft t ti
such as quality assurance, code walkthroughs, and documentation.
p things such as quality, completeness, and scheduling.
Department of Computer Engineering
14
Sharif University of Technology
[Booch 1994]
Software Development Methodologies – Lecture 3
from the macro process from the macro process
developers p
Department of Computer Engineering
15
Sharif University of Technology
[Booch 1994]
Software Development Methodologies – Lecture 3
u baug e a 99
d l d d fi th d f i t ti th models and defines a method for integrating them.
relationships, as well as their attributes and operations, in a Class Diagram D i M d l (DM) i di t th d i f th bj t th i
changes in state and the flow of events; captured in Event-Trace Diagrams and State Transition Diagrams (State Charts)
Department of Computer Engineering
16
Sharif University of Technology
Software Development Methodologies – Lecture 3
Department of Computer Engineering
17
Sharif University of Technology
[Rumbaugh et al. 1991]
Software Development Methodologies – Lecture 3
The goal is to build a correct and comprehensible model of the
Once the initial problem is defined, the following tasks are
B ildi th bj t d l i l di Cl Di d D t
Building the object model, including a Class Diagram and a Data
Dictionary.
Developing the dynamic model, including State Transition Diagrams and
p g y , g g global Event-Trace Diagrams
Constructing the functional model including Data Flow Diagrams and
constraints constraints
Verifying, iterating, and refining the three models.
Department of Computer Engineering
18
Sharif University of Technology
Software Development Methodologies – Lecture 3
Class Diagram
Department of Computer Engineering
19
Sharif University of Technology
[Rumbaugh et al. 1991]
Software Development Methodologies – Lecture 3
Event-Trace Diagram
Department of Computer Engineering
20
Sharif University of Technology
[Rumbaugh et al. 1991]
Software Development Methodologies – Lecture 3
State Transition Diagram
Department of Computer Engineering
21
Sharif University of Technology
[Rumbaugh et al. 1991]
Software Development Methodologies – Lecture 3
Data Flow Diagram
Department of Computer Engineering
22
Sharif University of Technology
[Rumbaugh et al. 1991]
Software Development Methodologies – Lecture 3
High-level structure of the system is defined Tasks include:
O i i th t i t b t
Organizing the system into subsystems Identifying concurrency Allocating subsystems to processors and tasks
g y p
Choosing the strategy for implementing data stores in terms of data
structures, files, and databases
Identifying global resources and determining mechanisms for controlling Identifying global resources and determining mechanisms for controlling
access to them
Choosing an approach to implementing software control
C id i b d diti
Considering boundary conditions Establishing trade-off priorities
Department of Computer Engineering
23
Sharif University of Technology
Software Development Methodologies – Lecture 3
Concerned with fully specifying the existing and remaining
Operations and data structures are fully defined along with any
All details for fully determining how the system will be
Department of Computer Engineering
24
Sharif University of Technology
Software Development Methodologies – Lecture 3
Yourdon E Object-Oriented Design Yourdon Press 1991
Software Prentice-Hall 1990
Edition) Benjamin/Cummings 1994 Edition). Benjamin/Cummings, 1994.
Oriented Modeling and Design Prentice-Hall 1991 Oriented Modeling and Design. Prentice Hall, 1991.
Department of Computer Engineering
25
Sharif University of Technology