Вы находитесь на странице: 1из 38

Object Oriented Modelling

and Design
1

MODULE TWO
UNIFIED PROCESS
System development Process models
in object technology (with UML)
2
Assignment-1
3

 Based on your current knowledge, design a


DFD+ERD and UML Model for Registry System,
which contents at least 3 entities, i.e Student,
Lecturer and Courses.
THE UNIFIED MODELLING LANGUAGE (UML)

 A language whose vocabulary and rules focus on


the conceptual and physical representation of a
system.
 UML defines structural, Functional and behavioral
things and diagrams.
 UML is the language of blueprints for software.
UML…

 It is a graphical language for


 Visualizing
 Specifying – building models that are precise, unambiguous,
and complete
 Constructing – possible to map from a model in the UML to a
programming language
 Documenting

 Intended for software-intensive systems


WHAT UML IS NOT

 UML is not a method or methodology


(Methododology= Notation (e.g.,UML) +
Process)
 UML does not dictate a particular process
 UML can be used to record the resulting
domain and design models, independent of the
process
 Choose an appropriate process for a particular
project, independent of the modeling language
UML DIAGRAMS

 Diagrams used to describe structure


 Class diagram
 Object diagram
 Component diagram
 Deployment diagram
 Diagrams used to describe behavior
 Use Case diagram (some says it is functional)
 Sequence diagram
 Activity diagram
 Collaboration diagrams
 Statechart diagram
 More on these later- Chapter TWO
Software Development Life Cycle

 The life of a software system can be represented as


a series of cycle.
 A cycle ends with the release of a version of the system to the
customers.
 Software development life cycle encompasses the
phases/processes that a software developer goes
through when developing a new software.
 Recall that It consists of 5 basic phases: -
 System planning
 includes initial investigation
 System analysis
 includes requirements capture/elicitation
 System design
 System construction and implementation
 includes system testing
 System deployment and maintenance
 Every system development models that have
been developed incorporates these basic phases
into their model, ex: - Waterfall Model, Iterative
Model, Unified Process etc
Types of Software process models?
10

 A simplified representation of a software process, presented


from a specific perspective.
 Generic process models
1. Waterfall (linear sequential)
2. Prototyping
3. Iterative (Evolutionary)development- Spiral
4. RUP – Rational Unified Process
 Other process models
1. Agile
2. Cleanroom
3. DSDM - Dynamic Systems Development Method
4. RAD - Rapid Application Development
5. XP – eXtreme Programming
6. V-Model
Waterfall Model of SDLC
Discussion of the Waterfall Model
12
Advantages:
 Process visibility
 Dependence on individuals
 Quality control
 Cost control
Disadvantages:
 Inflexible partitioning of the project into distinct stages
 This makes it difficult to respond to changing customer requirements
This model is only appropriate when the requirements are well-understood
Each stage in the process reveals new understanding of the previous stages, that
requires the earlier stages to be revised.
Prototyping
13

 Building a scaled-down working version of the


system
 Analysts work with users to determine the initial &
basic requirements for the system.
 The analyst then quickly builds a prototype.
 When the prototype is complete, the users work with the system
to provide additional input to modify the previous delivery
 Users check outputs, interactivity, usability and the like
 The analyst uses the feedback to revise the prototype and deliver
new versions
 This iterative process continues until the users are relatively
satisfied.
Prototyping (cont.)
14

 Advantages:
 Users are involved in the A&D process
 Captures requirements in concrete form, rather than
verbal/abstract form
 Disadvantages
 Insufficient analysis
 User confusion of prototype and finished system
 Developer misunderstanding of user objectives
 Developer attachment to prototype
 Excessive development time of the prototype
 Relatively costly development as developers produce different
versions before final delivery
Iterative and Incremental (Evolutionary)
development
15

 is a cyclic software development process developed


in response to the weaknesses of the waterfall model.
 starts with an initial planning and ends with
deployment with the cyclic interaction in between.
 is an essential part of to days Rational Unified
Process(RUP), the Dynamic Systems Development
Method(DSDM), Extreme Programming(XP) and
generally the agile software development.
An iterative development model
16
Evolutionary development process
17

Problems
• Lack of process visibility
• Systems are often poorly structured due to lack of proper
planning
• Special skills (e.g. in languages for rapid prototyping) may be
required
Applicability
•For small or medium-size interactive systems
•For parts of large systems (e.g. the user interface)
•For short-lifetime systems
Iteration Across Life Cycle Phases
Iterative Refinement

Evaluation Requirements

Implementation
(prototype) Design
Spiral model- as part of evolutionary process
20

 is a software development process combining


elements of both prototyping-in-stages and
sequential waterfall models
 combines advantages of top-down and bottom-up
concepts.
 is intended for large, expensive and complicated
projects.
Spiral development

 Process is represented as a spiral rather than as a


sequence of activities with backtracking.
 Each loop in the spiral represents a phase in the
process.
 No fixed phases such as specification or design -
loops in the spiral are chosen depending on what is
required.
 Risks are explicitly assessed and resolved throughout
the process.
The Spiral Life Cycle Model
Advantages of the spiral model
23

 The spiral model promotes quality assurance


through prototyping at each stage in systems
development.
 There are many evolutionary process models
The Rational Unified Process

 A modern process model derived from the work on


the UML and associated process.
 Normally described from 3 perspectives
 A dynamic perspective that shows phases of the model over
time;
 A static perspective that shows process activities that are
static;
 A practice perspective that suggests good practice to be used
during the process.
RUP phase model

Phase iteration

Inception Elaboration Cons truction Transition


RUP phases

 Inception
 Establish the business case for the system.

 Elaboration
 Develop an understanding of the problem domain and the
system architecture.
 Construction
 System design, programming and testing.

 Transition
 Deploy the system in its operating environment.
The Unified Process Life Cycle
Model
Benefits of RUP

 The Rational Unified Process captures many of


modern software development's best practices in a
form suitable for a wide range of projects and
organizations:
 Develop software iteratively.
 Manage requirements.
 Use component-based architectures.
 Visually model software.
 Continuously verify software quality.
 Control changes to software.
Agile Software Process Models
29

 Agile software engineering combines a philosophy


and a set of development guidelines.
 The philosophy encourages
 customer satisfaction and early incremental delivery of software,
 small; highly motivated project teams;
 informal methods;
 minimal software engineering work products, and
 overall development simplicity.
 Extreme Programming (XP)
 Adaptive Software Development (ASD)
 DSDM(Dynamic Systems Development Method)
 Feature Driven Development (FDD)
Work flows (Phases)- in object orientation
30

 Basicworkflows (not to stick to a single


process model or methodology- just in
object orientation
 Eachworkflow is a set of activities that
various project workers perform
 The workflows are: -
 Requirements-elicitation (gathering)

 Requirement definition
 captures the functional and non functional
requirements of the new system
 Tries to understand what users need
 aims at building mainly the essential use case
model and CRC
 Outcome: Understanding users through Use-case
Diagram, CRC, Essential UI prototyping ,
Supplementary specification
Cont…
32

 Analysis
 Structuring, analyzing and modeling requirements
 aims at understanding the system and building the
analysis model
 helps the developer refine and structure the functional
requirements captured through essential use-case
model
 Outcome: Determining what the system should do
and look like through System Use case, Class/Object
Diagram, Sequence Diagram, Activity diagram and UI
prototyping.
 Design
 Focus on how to make the analysis a reality
 defines how things will be built
 aims at building the design model
 describes the physical realisations of the use cases
from the use-case models and the contents of the
analysis model
 Outcome: Design level class diagram, Collaboration
Diagram, sate chart diagram, component diagram,
deployment diagram, persistent model; extending the
UML
Cont…
34

 Implementation and testing


 aims at building a working system, coding, testing
documentation.....
 describes how elements of the design model are
packaged into software components, i.e source code,
 Outcome: working system, test case scenarios,
documentation
Summary
35

 Definitions and basic concepts


 System/software, Quality software

 Structured vs OO technologies
 Structured (process oriented) Vs OOT (object oriented)

 Basic object orientation concepts


 Abstraction, Encapsulation, hierarchy, modularity, Class,
Object, attribute, methods, ….
 Process models
 Waterfall, prototype, Incremental, RUP

 Work flows- in object orientation


 Elicitation, Analysis, Design, Implementation
Review Questions
36

1. List down the different software development


process
2. What is the basic cycles of each process
3. What is the advantage and disadvantage of each
process
4. Under what condition you choose one method from
the other
Assignment-1
37

 Based on your current knowledge, design a


DFD+ERD and UML Model for Registry System,
which contents at least 3 entities, i.e Student,
Lecturer and Courses.
38

End of Module 2

Вам также может понравиться