Unit 1:
Introduction
Presented by:
Raksha Shakya
Saraswati Saud
Riju Maskay
Siya Shrestha
What is OOAD?
Analyzing: designing and analysis in problem domain
Design: understanding and design software solution /object
that represent the analysis concept and eventually be
implemented in a code.
OOAD: identifying software engineering requirements and
developing software specifications that emphasizes a logical
solution based on objects.
2
Concept of OOAD
•Class and Object: same features, constraints and
semantics.
•Message: is a small talk represent in two way
communication.
•Encapsulation: is a development technique which
includes:
-creating new data types (classes) by combining both
information (structure) and behaviors, and
-restricting access to implementation details.
3
•Abstraction: isolates use from implementation that can be used
without knowledge of its implementation and implemented
without knowledge of its use.
•Polymorphism: Polymorphism is ability to apply different
meaning (semantics, implementation) to the same symbol
(message, operation) in different contexts.
4
UML
•UML stands for unified modeling language.
•UML is standard language for specifying, visualizing,
constructing and documenting the artifacts.
•UML is pictorial language used to make software blueprints.
•UML is generally used to model software system but it is not
limited within this boundary. It is also used to model non
software system as well.
E.g. : process flow in a manufacturing unit
5
•UML is different from the other common programming
language like c ++ , java ,cabel etc.
•UML is not a programming language but tools can be used to
generate code in various language using UML diagrams.
•UML has direct violation with object oriented analysis and
design. After some standardization UML become an OMG
(object management group) standard.
•Thus, the goal of UML can be define as a simple modeling
mechanism to model all possible practical system in today’s
complex environment.
6
Why UML for modeling ?
•Use graphical notation to communicate more clearly than
natural language and code
•Help acquire an overall view of a system
•UML is non depending on any one language or technology
•UML moves us from fragmentation to standardization
7
UML diagram for student
information system
8
United process(UP) phases
9
Inception
•Starts with idea of a product
•Establish the project scope and boundary conditions
•Check feasibility and cost estimation
•Identify risk
10
Elaboration phase
•System analyst work.
•Plan document is prepared.
•Primary goals are to address known risk factors and to establish
and validate the system architecture.
•Creation of use case diagram.
•Include non functional requirement.
11
Construction phase
•Largest phase.
•In this phase the remainder of the system is built on the
foundation laid in Elaboration.
•All features are considered to be developed and are carefully
tested.
12
Transition phase
•System is deployed to the target users.
•Initiatd with beta release of application.
•Feedback received from an initial release may result in further
refinements.
•Provide user training, customer service and help-line
asstistance.
13
Use-case Modeling
•A use-case model is a model of how different types of users
interact with the system to solve a problem.
•It describes the goals of the users, the interactions between the
users and the system, and the required behavior of the system in
satisfying these goals.
•A use-case model consists of a number of model elements. The
most important model elements are: use cases, actors and the
relationships between them.
14
Model Element
15
Fig: System of Restaurant
16
Use Case Diagram Relationships
•There can be 5 relationship types in a use case diagram.
•Association between actor and use case
•Generalization of an actor
•Extend between two use cases
•Include between two use cases
•Generalization of a use case
17
1. Association Between Actor and
Use Case
Different ways association relationship appears
in use case diagrams
18
2. Generalization of an Actor
A generalized actor in an use case diagram
19
3. Extend Relationship Between
Two Use Cases
•The extending use case is dependent on the extended (base)
use case.
•The extending use case is usually optional
•The extended (base) use case must be meaningful on its own
20
4. Include Relationship Between
Two Use Cases
•this is done to simplify complex behaviors
•The base use case is incomplete without the included use case.
•The included use case is mandatory and not optional.
21
Includes is usually used to model common
behavior
22
5. Generalization of a Use Case
This is used when there are common behavior between two use
cases and also specialized behavior specific to each use case.
For example in the previous banking example there might be an
use case called “Pay Bills”. This can be generalized to “Pay by
Credit Card”, “Pay by Bank Balance” etc.
23
24
Introduction to OOAD
Introduction to OOAD

Introduction to OOAD

  • 1.
    Unit 1: Introduction Presented by: RakshaShakya Saraswati Saud Riju Maskay Siya Shrestha
  • 2.
    What is OOAD? Analyzing:designing and analysis in problem domain Design: understanding and design software solution /object that represent the analysis concept and eventually be implemented in a code. OOAD: identifying software engineering requirements and developing software specifications that emphasizes a logical solution based on objects. 2
  • 3.
    Concept of OOAD •Classand Object: same features, constraints and semantics. •Message: is a small talk represent in two way communication. •Encapsulation: is a development technique which includes: -creating new data types (classes) by combining both information (structure) and behaviors, and -restricting access to implementation details. 3
  • 4.
    •Abstraction: isolates usefrom implementation that can be used without knowledge of its implementation and implemented without knowledge of its use. •Polymorphism: Polymorphism is ability to apply different meaning (semantics, implementation) to the same symbol (message, operation) in different contexts. 4
  • 5.
    UML •UML stands forunified modeling language. •UML is standard language for specifying, visualizing, constructing and documenting the artifacts. •UML is pictorial language used to make software blueprints. •UML is generally used to model software system but it is not limited within this boundary. It is also used to model non software system as well. E.g. : process flow in a manufacturing unit 5
  • 6.
    •UML is differentfrom the other common programming language like c ++ , java ,cabel etc. •UML is not a programming language but tools can be used to generate code in various language using UML diagrams. •UML has direct violation with object oriented analysis and design. After some standardization UML become an OMG (object management group) standard. •Thus, the goal of UML can be define as a simple modeling mechanism to model all possible practical system in today’s complex environment. 6
  • 7.
    Why UML formodeling ? •Use graphical notation to communicate more clearly than natural language and code •Help acquire an overall view of a system •UML is non depending on any one language or technology •UML moves us from fragmentation to standardization 7
  • 8.
    UML diagram forstudent information system 8
  • 9.
  • 10.
    Inception •Starts with ideaof a product •Establish the project scope and boundary conditions •Check feasibility and cost estimation •Identify risk 10
  • 11.
    Elaboration phase •System analystwork. •Plan document is prepared. •Primary goals are to address known risk factors and to establish and validate the system architecture. •Creation of use case diagram. •Include non functional requirement. 11
  • 12.
    Construction phase •Largest phase. •Inthis phase the remainder of the system is built on the foundation laid in Elaboration. •All features are considered to be developed and are carefully tested. 12
  • 13.
    Transition phase •System isdeployed to the target users. •Initiatd with beta release of application. •Feedback received from an initial release may result in further refinements. •Provide user training, customer service and help-line asstistance. 13
  • 14.
    Use-case Modeling •A use-casemodel is a model of how different types of users interact with the system to solve a problem. •It describes the goals of the users, the interactions between the users and the system, and the required behavior of the system in satisfying these goals. •A use-case model consists of a number of model elements. The most important model elements are: use cases, actors and the relationships between them. 14
  • 15.
  • 16.
    Fig: System ofRestaurant 16
  • 17.
    Use Case DiagramRelationships •There can be 5 relationship types in a use case diagram. •Association between actor and use case •Generalization of an actor •Extend between two use cases •Include between two use cases •Generalization of a use case 17
  • 18.
    1. Association BetweenActor and Use Case Different ways association relationship appears in use case diagrams 18
  • 19.
    2. Generalization ofan Actor A generalized actor in an use case diagram 19
  • 20.
    3. Extend RelationshipBetween Two Use Cases •The extending use case is dependent on the extended (base) use case. •The extending use case is usually optional •The extended (base) use case must be meaningful on its own 20
  • 21.
    4. Include RelationshipBetween Two Use Cases •this is done to simplify complex behaviors •The base use case is incomplete without the included use case. •The included use case is mandatory and not optional. 21
  • 22.
    Includes is usuallyused to model common behavior 22
  • 23.
    5. Generalization ofa Use Case This is used when there are common behavior between two use cases and also specialized behavior specific to each use case. For example in the previous banking example there might be an use case called “Pay Bills”. This can be generalized to “Pay by Credit Card”, “Pay by Bank Balance” etc. 23
  • 24.