Professional Documents
Culture Documents
SOFTWARE
ENGINEERING II
ANALYSIS AND DESIGNING
Contents
• Analysis and Design
• Object oriented analysis and design
• OOA/D basic concepts
• Visual modeling
• UML
• A simple Example - Dice Game
• Use case
• Domain model
• Interaction diagram – sequence diagram
• Class diagram
• Applying UML
• Perspective of UL
• Unified process
• Iterative and evolutionary development
• Feedback and adaptation
• Benefits of iterative and evolutionary development
• Risk driven and client driven iterative planning
3
Visual Modeling
• •A simple picture explains a story of more than 100 words.
• •In Software Engineering to present system analysis and
designing results we also need a way of blueprints/visual
design to explain system analysis and design in easy way,
minimum time and overcome terminologies differences and
different understanding.
• •Blueprints helps you plan an addition before you built it.
• •Model helps you plan a system before you built it.
• •Modeling: User’s description of the Problem domain >
Requirements > Development team understanding >
Implementation/Code tracing to the requirements
• •Visual Modeling is the process of taking the information from
the model and displaying it graphically using some sort of
standard set of graphical elements. Standard is very important
to help in communication of the model.
8
Visual Modeling
• •Industry known visual modeling notations are
• –Booch
• –Object Modeling Technology (OMT)
• –Unified Modeling Language (UML)
• •UML has been adopted by the majority of the industry as
well as the standards governing boards as ANSI and
OMG
9
UML
• The Unified Modeling Language is a visual language for
specifying and documenting the artifacts of the system.
[OMG03a]
• •Uses diagrammatic notations
10
Use case
• Play a Dice Game: Player requests to roll the dice.
System presents results: If the dice face value totals
seven, player wins; otherwise, player loses.
12
Domain model
13
Class diagram
15
Applying UML
• •UML as sketch – incomplete diagrams with text
• •UML as blueprint – Detailed design diagram to visualize
and understand the code.
• –Forward Engineering
• –Reverse Engineering
• •UML as Programming Language
16
Perspective of UML
• –Conceptual: the diagrams are interpreted as describing
things in a situation of real word or domain of interest.
• –Specification: Diagrams describe the software
abstraction or components with no commitment to
particular implementation
• –Implementation: Diagrams describe software
implementation in a particular technology.
17
Unified Process
• •Emerged as a popular iterative software development
process for building object oriented systems
• •UP is very flexible and open, and encourages including
skillful practices e.g.
• –XP
• –SCRUM,
• –Iterative lifecycle
• –Risk-driven development, into a cohesive and well-
documented process description
• •The UP is an iterative process
18
Unified Process
• •Agile practices such as Agile Modeling are key to
applying the UML in an effective way
• •Iterative and evolutionary development—contrasted with
a sequential or “waterfall” lifecycle
• •Involves early programming and testing of a partial
system, in repeating cycles
• •We rely on short quick development steps, feedback, and
adaptation to clarify the requirements and design
19