Upload
arleen-briggs
View
248
Download
1
Tags:
Embed Size (px)
Citation preview
Subject Handler, Ms.K.Esther
Rani ,AP Department of IT
CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN
OBJECTIVES
To learn basic OO analysis and design skills through an elaborate case study.
To use the UML design diagramsTo apply the appropriate design patterns
SYLLABUS
SYLLABUS
LESSON PLAN
UnitLecture
No. Topics Book & page no. used for teaching
Topic No.
UNIT I
1 Introduction to OOAD T1 & 1.1 1.02 Unified process T1 & 1.6-1.9 1.33 UML diagrams
T1 & 1.4 – 1.61.2
4 Use case T2 & 61 - 69 65 Class diagrams T1 & 3.36-3.61 3.5
6 Interaction diagrams T1 & 3.62-3.94 3.6
7 State diagrams T1 & 5.1-5.7 5.1
8 Activity diagrams T1 & 2.48-2.55 2.10
9Package, component and deployment diagrams
T1 &5.14-5.19 5.3
LESSON PLAN
UNIT II
10 GRASP: designing objects with responsibilities T1 & 4.1-4.7 4.1
11 Creator & information expert T1 & 4.8-4.12 4.2&4.3
12 Low coupling & Controller T1 & 4.13-4.25 4.4 & 4.5
13 High cohesion T1 & 4.26-4.29 4.6
14 Design patterns -creational T2 & 403 - 406 23
15 Factory method T2 & 440 - 442 26
16 Structural NET17 Bridge -adapter T2 & 436-438 26
18 Behavioral NET19 Strategy - observer T2 & 447 - 470 26
Unit Lecture No. Topics Book & page no. used
for teachingTopic No.
LESSON PLAN
UnitLecture
No. Topics Book & page no. used for teaching
Topic No.
UNIT III 20 Case study – the Next Gen POS system
T1 & 1.9-1.101.4
21 Inception T1 & 1.10-1.12 1.5
22 Use case Modeling T1 & 1.16-1.32 1.7
23 Relating Use cases – include, extend and generalization T1 & 1.33-1.36
1.8
24
Elaboration T1 & 2.1-2.2 2.1
Domain Models T1 & 2.2-2.5 2.2
25 Finding conceptual classes and description classes T1 & 2.5-2.12
2.3&2.4
26 Associations & Attributes T1 & 2.13 -26 2.5&2.6
27 Domain model refinement T1 & 2.28-2.29 2.8
28 Finding conceptual class Hierarchies T1 & 2.30-2.37 2.9
LESSON PLANUnit Lecture No. Topics
Book & page no. used for teaching
Topic No.
UNIT IV
29System sequence diagrams T1 & 3.1-3.4 3.1
30
Relationship between sequence diagrams and use cases
T1 & 3.5-3.7 3.2
31,32
Logical architecture and UML package diagram T1 & 3.8-3.20
3.3
33,34
Logical architecture refinement T1 & 3.21-3.36 3.4
35,36UML class diagrams T1 & 3.36-3.61 3.5
37,38UML interaction diagrams T1 & 3.62-3.94 3.6
39,40Applying GoF design patterns T1 & 4.34-4.48 4.8
LESSON PLAN
Unit Lecture No. TopicsBook & page no. used for teaching
Topic No.
UNIT V
41,42 Mapping design to code T1 &5.20-5.41 5.4
43 Testing: Issues in OO Testing T2 & 385 - 389 26
44,45 Class Testing NET
46,47 OO Integration Testing NET
48 GUI Testing NET
49,50 OO System Testing NET
SYNOPSIS
Highlights of the UNIT - 1 :
UP PHASESACTIVITY DIAGRAMUML STATE DIAGRAMS UML DEPLOYMENT AND COMPONENT DIAGRAMS
SYNOPSIS
Highlights of the UNIT - 2 :
GRASP: PATTERNSGOF DESIGN PATTERNS
SYNOPSIS
Highlights of the UNIT - 3 :
NEXTGEN PoS SYSTEMUSE CASE DIAGRAMCONCEPTUAL CLASSASSOCIATION & AGGREGATION
SYNOPSIS
Highlights of the UNIT - 4 :
LOGICAL ARCHITECTUREUML CLASS DIAGRAMS UML INTERACTION DIAGRAMS
SYNOPSIS
Highlights of the UNIT - 5 :
TESTING OO CODECLASS TESTING PROCESSTESTING TOOLSTESTING LIFE CYCLE
UNIT I
UP PHASES The unified process phases are • Inception• Elaboration• Construction• Transition
ACTIVITY DIAGRAM It shows the flow of events with our system & what is going on inside a use case or among several classes . It can be used to model an entire business process.
Start state Start state shows the beginning of a workflow on an activity diagram . A start state is represented by a solid circle.
End state An end state represents a final or terminal state on an activity diagram. A end state is represented by a bull’s eye.
State transition A state transition shows what activity follows after another . It is represented by a solid line with an arrow.
Cont..Activity
It represents the performance of a task within the workflow . Activity is represented by a round box (horizontal top and bottom with convex sides)
Decision
A decision is a point in an activity diagram where guard conditions(UML calls) are used to indicate different possible transitions. It is represented by a diamond symbol.
Synchronization bar
A synchronization bar allows to show concurrent threads in a work flow of a use case . It is represented by a thick horizontal or vertical line.
EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM (ISSUE BOOK )
STATE CHART DIAGRAM
It describes the behaviour of system.
Basic elements with notations:Initial state ( Solid circle)State ( Rounded rectangle)Transition ( Arrow labeled with event/action)Final state ( Bull’s eye )
EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM ( BOOK)
COMPONENT DIAGRAM
It describes the organization of physical components and shows the physical aspect of the object oriented software system.
Basic symbols with notations:
Component ( Rectangle with two tabs at left side)Interface ( )Dependency (Dashed arrow )
EXAMPLE DIAGRAM FOR BOOK BANK SYSTEM
DEPLOYMENT DIAGRAM It describes run time configuration of processing nodes among components of the system.
Basic elements with notations:Node ( Cube )Connection (Solid line / Dashed arrow) TWO types of node:1.Device node – Example: Computer , Mobile Phone2.Execution Environment Node – Example: OS , DB engine,
Web browser and technologies.
UNIT II GRASP PATTERNS
GRASP-General Responsibility Assignment Software Pattern
Creator - Creating objects for OO systemInformation expert – Delegating responsibilities on classesLow coupling – Making low dependency between classesController- Responsible for receiving and handling a system
messageHigh cohesion – Used to keep objects focused , manageable &
understandable .
GOF DESIGN PATTERN
It is a foundation of all other patterns.
1.Adaptor – convert programming interface of one class to other2.Singleton – Single instance is created for one class3.Factory – Implement the concept of factory4.Observer – Software design pattern to denote the dependents.
NEXTGEN POS SYSTEM
It is a computerized application to record sales and handle payments
It is used in retail storeIt includes hardware components such as computer, bar
code scanner and the software to run the system.It supports multiple client side terminals
UNIT III
USE CASE DIAGRAM It shows a set of use cases and actors and their relationships .
The functionality of system is described in a no of different use cases each of which represents a specific flow of events in the system.
Actor It is the user (or) someone / something outside the system
that interacts with the system (it must be a noun) & it is represented by a stickman.
Use case It represents a sequence of actions (it must be a verb) & it is
represented by an oval (ellipse) Eg: Borrow book is the one of the functionalities in Library system.
Borrow Book
Cont..Relationships 1.communication –solid path connection between actor &usecase.
Unidirectional & Bi-directional 2.uses-relationship between usecases is shown by generalization arrow from usecase. 3.extends-it is used when one usecase is similar to other usecase.
Types of usecase Actor’s name and use case names should follow the capitalization.
Use cases could be viewed as concrete or abstract. An abstract use case is not complete and has no initiation actors but
is used by a concrete use case, which does interact with actors.
EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM
CONCEPTUAL CLASSIt is an object , thing or idea to understand the real world
situation
THREE strategies to find conceptual class1. Reuse or modify existing models2. Use a category list3. Identify noun phrases
ASSOCIATION AND AGGREGATIONASSOCIATION
It is a relationship between two or more classes to indicate connections between them.
Examples: 1 has 1
1 belongs to 1
Customer Account
Student Class
Cont..AGGREGATION
It is a special type of association used to model a whole part relationship
Example:
Engine Radio
Car
Carburetor
UNIT IVLOGICAL ARCHITECTURE
It is the organization of software classes into packages, systems and Layers.
THREE layers:1.UI2.Domain Objects3.Technical services
CLASS DIAGRAMClass is a set of objects that share the same attributes, operations
& relationships. It is represented by a compartmented rectangle. It shows the structure of software. It has 3 compartmentsTop shows class nameMiddle shows class attributesBottom shows class operation(behavior)
Attributes It defines the characteristics or structure of a class. It is
displayed in the middle of the compartmentalized rectangle.Operation
It shows the service provided by the class . It is displayed in the bottom of the compartmentalized rectangle.
EXAMPLE CLASS DIAGRAM FOR ATM
Client
PinNoAmount W/dCurrencyFormatCurrentBalance
InsertCard()SpecifyPin()SpecifyAmt()RetrieveCash()RemoveCard()
ATM m/c
PinNoPinStatusAmountDispensedCurrentBalance
ValidatePin()SetPinStatus()GetCurrencyFormat()GetAmountDispensed()GetCurrentBalance()PrintTransactionDetails()
**
INTERACTION DIAGRAMSEQUENCE DIAGRAM
Dimensions1.Vertical dimension represents time2.Horizontal dimension represents different objects. Life line -Vertical line is called the object’s life line. It represents the
object’s existence during the interaction.Objects -Objects are shown as a box at the top of dashed vertical line.
The object role is shown as a vertical dashed line, the life line.Message - Each message is labeled with the message name.Each
message is represented by an arrow between the life lines of 2 objects.
Focus of control - A focus of control shows the period of time during which an object is performing an action. It represented by a tall, thin rectangle.
EXAMPLE DIAGRAM FOR PASSPORT SYSTEM
COLLABORATION DIAGRAM
Collaboration diagram represents a collaboration which is a set of objects related in particular context, and interaction , which is a set of messages exchanged among the objects to achieve a desired outcome.
It is made up of the following basic elementsActorsObjectsLinksMessages
EXAMPLE DIAGRAM FOR PASSPORT SYSTEM
TESTING OO CODEClass testsClass tests IntegrationIntegration
teststests
ValidationValidationteststests
SystemSystemteststests
UNIT V
CLASS TESTING PROCESS
classclassto beto be
testedtested
test casestest cases
resultsresults
softwaresoftwareengineerengineer
How to test?How to test?
Why a Why a loop?loop?
TESTING TOOLSStatic analyzers Code inspectors Standard enforcers
Coverage analyzers (execution verifiers) Output comparators Test file/ data generators Test harnesses Test archiving systems
TESTING LIFE CYCLE
1. Requirements stage2. Test Plan3. Test Design.4. Design Reviews5. Code Reviews6. Test Cases preparation.7. Test Execution8. Test Reports.9. Bugs Reporting10.Reworking on patches.11.Release to production.
APPLICATION
The concepts of Object Oriented Analysis and Design ( OOAD ) are used in Software Development Process for analyzing requirements and designing UML diagrams.
Text Book
Craig Larman, "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”,Third Edition, Pearson Education, 2005.
Thenkalvi.B ”Object oriented analysis and design”, 3rd Edition, Lakshmi Publications, 2013.
ASSIGNMENT TOPICS
Case study-the NextGen POS systemUML activity diagram and modelingRelationship between sequence diagrams and use casesApplying GoF design patternsUML Component diagram
SEMINAR TOPICS
Use case modelingInceptionRelating Use casesDomain modelsDomain model refinementFinding conceptual classesUML package diagramLogical architecture refinementSystem sequence diagramsGRASP : Designing objects with responsibilitiesUML deployment and component diagrams
URL’Shttp://www.uml-diagrams.orghttp://www.manyppt.comhttp://www.slideshare.nethttp://cederling.net/PAA006/L4.htmlhttp://www.visual-paradigm.comhttp://www.sparxsystems.comhttp://www.tutorialspoint.comhttp://www.powershow.comhttp://www.blackwasp.co.uk/GofPatterns.aspxhttp://www.smartdraw.com
VIDEO LINKSIntroduction to OOAD https://www.youtube.com/watch?
v=33HN8do2D5YIntroduction to UML https://www.youtube.com/watch?
v=FkRwbVUVFvEIntroduction to Association, Aggregation & Composition
www.youtube.com/watch?v=6cQs1JkUrY0Activity diagram https://www.youtube.com/watch?
v=yAihwmczqskSequence diagram https://www.youtube.com/watch?
v=18_kVlQMavE
Cont..Interaction diagram https://www.youtube.com/watch?
v=CJUc2crmrMsPackage diagram https://www.youtube.com/watch?
v=BgvwzJnUt4AClass diagram https://www.youtube.com/watch?
v=9ECRzQqUxdQIntroduction to GRASP www.youtube.com/watch?
v=56zNJ_eizC0State diagramwww.youtube.com/watch?v=rrqgM9Ch29Q