P. 1


|Views: 436|Likes:
Publicado pordhakaru

More info:

Published by: dhakaru on Sep 02, 2010
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less






  • What is Software Engineering?
  • Effort Distribution for each stage:
  • Major benefits of OOAD:
  • Elements of OO Methodology:
  • What is Notation?
  • What is UML?
  • Where can you use the UML?
  • The Evolution of the UML:
  • Advantages of UML:
  • UML refers to:
  • What is Process?
  • What is a tool?
  • Why Tool?
  • Triangle for Success:
  • Objective of the first module:
  • OO model:
  • Models and Views:
  • UML diagrams:
  • What is USE CASE diagram?
  • USE CASE diagram:
  • Objective of the second module
  • Beginning Analysis and Design
  • Flow of Events:
  • Alternative Flow of Events:
  • Exceptional Flow of Events:
  • Why flow of events?
  • Objective of the third module
  • USE CASE Realizations:
  • What is Interaction diagram?
  • What is Collaboration diagram?
  • Components of collaboration diagram:
  • Semantics of components:
  • The elements of message:
  • The examples of message:
  • Objective of the fifth module
  • What is Class diagram?
  • Major Types of classes:
  • What is Cardinality? :
  • Reaching the class diagram:
  • What more to the Class Diagram?
  • Objective of the fifth module:
  • What is state transition diagram?
  • Semantics of every components:
  • More about State Diagram:
  • What is activity diagram?
  • Consistency Checking
  • Objective of the sixth module
  • What is component diagram?
  • What is deployment diagram?
  • Deployment diagram
  • Objective of the seventh module:
  • Understanding the project culture
  • OOAD---Architecture Centric

Object Oriented Analysis and Design Using UML


Course description:
OBJECTIVE: The understand the Unified Modeling Language and orient towards Object Oriented methodology using UML for modeling software systems. TARGET AUDIENCE: In particular, it is intended for software professionals who have sound knowledge of object concepts and some experience towards analysis and design. PREREQUISITES: Good understanding of object concepts. Sound knowledge of any object oriented language. Knowledge of software engineering process.

Course description:
TABLE OF CONTENTS: Module1 Introduction Module2 Use case diagram Module3 Flow of events Module 4 Realization of the class diagram
Sequence diagram and Collaboration Diagram

Module5 Module6 Module7

Class diagram and refinement attributes State transition and activity diagram Implementation diagram
Component diagram and Deployment diagram

Module8 Understanding project culture Appendix-A

Module-1 4 .

Importance of modeling What is a model? ± A model is a simplification of reality Why do we model? ± help visualizing ± permit specification ± provides a template ± document decisions 5 .

4 Principles of Modeling Choose your models well Every model may be expressed at various levels of precision The best models are connected to reality No single model is sufficient 6 .

disciplined and qualifiable approach to the development. operation and maintenance of a software system is software engineering. Software development life cycle has following stages: REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TESTING 7 .What is Software Engineering? DEFINITION:The application of systematic.

Effort Distribution for each stage: Analysis & design Development Testing 40 % 20 % 40 % Analysis .How it is to be done ? Two Popular methodology approaches are: Structured Analysis & Design Object Oriented Analysis & Design-OO model 8 .What is to be done ? Design .

We intent to learn OOAD approach for the following reason: ±Promotes better understanding of user requirements ±Leads cleaner design ±Design flexibility' ±Decomposition of the system is consistent ±Facilitates data abstraction & information hiding ±Software reuse ±Easy maintenance ±Implementation flexibility 9 .Major benefits of OOAD: The object oriented approach is a way of thinking about a problem using real world concepts instead using adhoc function concepts.

Elements of OO Methodology: Following are three elements for every OO methodology: Notation Process / Method Tool 10 .

the unified modeling language provides the basis for a de facto standard in the domain of object oriented analysis and design founded on a wide base of user experience 11 . The Unified Modeling Language [UML] provides a very robust set of notation which grows from analysis to design. This brings end of the method wars as far as notation is concerned with adoption of the language [UML] By unifying the notations used by these object oriented methods.What is Notation? Notation: It is collection of graphical symbols for expressing model of the system.

The UML is language for visualizing. sets it free to concentrate on more advance and creative problems ³ UML is not a method or process but is the means to express the same. constructing and documenting the artifacts of software system. which is mainly a collection of graphical notation that methods use to express the designs. OOSE notations but rather legitimate successor to all three. UML is visual modeling language for modeling systems and is non proprietary UML is not a radical departure from Booch.What is UML? It is a Unified Modeling Language. Whitehead says ³ By relieving the brain of unnecessary work. which is more expressive and more uniform than individual notations. 12 . a good notation. It is an evolutionary step. specifying. OMT.

absolutely anywhere everywhere.Where can you use the UML? System of several different kinds. Primarily for software intensive systems like: Systems software Business processes 13 .

sept¶97 UML1.0 Beta version OOPSLA¶96 UML0.8 Other method Booch OMT OOSE 14 .1 Submission of OMG group UML1.The Evolution of the UML: Public Feedback OMG vote¶97 Submission to OMG.9 Unified Method 0.

Advantages of UML: Captures business processes Enhance communication and ensures the right communication Capability to capture the logical software architecture independent of the implementation language Manages the complexity Enables reuse of design 15 .

UML refers to: UML things: Class. class diagram. UML diagrams: Use case diagram. relationship. component. node. package etc.deployment diagram 16 .. interaction diagram. State diagram.

OO model supports the iterative and incremental model for the process. analysis and design. 17 . Process basically encapsulates the activities leading to the orderly construction of system model.What is Process? What is Process? It is an extensive set of guidelines that address the technical and organizational aspects of software development focusing on requirements.

implementation technology and skills of team Booch.More about Process? Guidance as to the order of team¶s activities It specifies what artifacts should be developed It directs the task of individual developers and team as a whole It offers criteria for monitoring and measuring project activities The selection of particular process will vary greatly depending upon things like problem domain.OOSE and many other methods have well defined process and UML supports almost all methods There has been some convergence on development process practices but there is no consensus for standardization. 18 .OMT. Framework for the every stage of software development life cycle.

19 .Best Practices followed by Rational Unified Process Develop software iteratively Manage requirements Use component based architectures Visually model software Verify S/W quality Control changes to software.

Since we are concentrating on requirement. Platinum 4.What is a tool? It is automated support for every stage of software development life cycle. following are the names of few tools which are greatly in use: 1. Select 20 . analysis and design phase. Cayenne 3. Rational Rose 2.

Why Tool? Helps designer for creating designs much more quickly. Time required for certain operation could be predicted . Supports validations like: Consistency checking Completeness checking Constrain checking. Code generation Reverse engineering. Round trip engineering Conversion from SSAD to OOAD Quick documentation«etc 21 .

Notation Tool Method 22 .Triangle for Success: All three components play equally important role towards the success of the project.

23 .Objective of the first module: Get introduced with Unified Modeling Language and know the basic components of software development life cycle.

Module-2 24 .

OO model: DYNAMIC MODEL STATIC MODEL LOGICAL MODEL PHYSICAL MODEL The models of Object Oriented Development 25 .

for each dimension we define a number of diagrams that denote a view of the system¶s model. ± ± ± ± Process view Deployment view Logical view Dynamic view + ± Use case view As shown in the model . The use case view is central since its contents drive the developments of other views. 26 .Models and Views: 4+1 view of OO model.

Class Diagram 3. Use case diagram 2.Sequence diagrams .State chart diagrams .Interaction diagrams . Implementation diagrams .Activity diagrams .Object diagram .Deployment diagram 27 . Behavioral diagrams .Collaboration diagrams 4.Component diagram .UML diagrams: 1.

Semantics of Diagrams: Use case diagrams represent the functions of a system from the user¶s point of view. Class diagrams represent the static structure in terms of classes and relationships. links. Object diagrams represent objects and their relationships. 28 . and interactions. and correspond to simplified collaboration diagrams that do not represent message broadcasts. Sequence diagrams are a temporal representation of objects and their interactions. Collaboration diagrams are a spatial representation of objects.

State chart diagrams represent the behavior of a class in terms of states Activity diagrams are to represent the parallel behavior of an operation as a set of actions. 29 .Semantics of Diagrams: Contd... Deployment diagrams represent the deployment of components on particular pieces of hardware. Component diagrams represent the logical components of an application.

30 . Components of use case diagram: Actor Use case System boundary Relationship Actor relationship Semantic of the components is followed.What is USE CASE diagram? A use case diagram establish the capability of the system as a whole.

ACTOR: What is an actor? An actor is some one or something that must interact with the system under development UML notation for actor is stickman. shown below. Customer Manager Cashier 31 .

Actors carry out use cases and a single actor may perform more than one use cases.ACTOR: More about an actor: It is role a user plays with respect to system. 32 . Actors are not part of the system they represent anyone or anything that must interact with the system. Actors are determined by observing the direct uses of the system.

.ACTOR: Contd« Those are responsible for its use and maintain as well as other systems that interact with the developed system. .receive information from the system.input information to the system.input to and out from the system. 33 . An actor may .

ACTOR: How do we find the actor? Ask following questions to find the actors: ± ± ± ± ± ± Who uses the system? Who installs the system? Who Starts up the system? What other systems use this system? Who gets the information from the system? Who provides information to the system? Actor is always external to the system. 34 . They are never part of the system to be developed.

Secondary : Who takes care of administration & maintenance. External h/w : The h/w devices which are part of application domain and must be used. Other system: The other system with which the system must interact.ACTOR: 4-Categories of an actor: Principle : Who uses the main system functions. 35 .

36 .ACTOR: Note: If newly identified actor is using a system in a same way like an existing actor. If two actors use system in the same way they are same actors. then new actor can be dropped.

Examples: Open new account Withdrawal of cash from ATM 37 . the system exhibits Each use case is a sequence of related transactions performed by an actor and the system in dialogue. USE CASE is dialogue between an actor and the system.USE CASE: What is USE case? A use case is a pattern of behavior.

Most of the use cases are generated in initial phase. 38 . A use case may be small or large. but you find some more as you proceed.USE CASE: More about USE CASE: It is a snapshot of one aspect of system. It captures a broad view of a primary functionality of the system in a manner that can be easily grasped by non technical user. A use case typically represents a major piece of functionality that is complete from beginning to end. They model a dialog between actor and system.

USE CASE: Contd« A use case must deliver something of value to an actor. The use cases may be decomposed into other use cases. Use cases also present a good vehicle for project planning. 39 .

Or delete that information? Does the system need to notify an actor about changes in its internal state? 40 .USE CASE: How do we find the use cases? What functions will the actor want from the system? Does the system store information? What actors will create. read. update.

Pre condition: ± Use case : ± Actors : ± ± ± ± Purpose : Overview : Type : Post condition: If any Name of the case. indicating who initiates the use case. 41 . List of actors(external agents).USE CASE: Generic format for documenting the use case: . If any Typical Course of Events: ACTOR ACTION : Numbered actions of the actor. Intention of the use case. primary / secondary. SYSTEM RESPONSE : Numbered description of system responses. Description.

along with the minimal deposit. Type :Primary use case. At the end of complete successful process customer receives the passbook. Manager Purpose :Like to have new saving account. Customer requests for the new account form. Cashier.USE CASE: USE CASE documentation example: The following use case describes the process of opening a new account in the bank. 42 . fill the same and submits. Use case :Open new account Actors :Customer. Description :A customer arrives in the bank to open the new account.

Grouping USE CASES: Those use case functionality which are directly dependent on the system environment are placed in interface objects Those functionality dealing with storage and handling of information are placed in entity objects Functionality's specific to one or few use cases and not naturally placed in any of the other objects are placed in control objects By performing this division we obtain a structure which helps us to understand the system from logical view 43 .

OOAD --- USE CASE driven
Analysis Design & Implementation


Use cases make up the glue

Capture,clarify & validate use cases

Implement use cases

Verify that use cases are satisfied


What is System Boundary? It is shown as a rectangle. It helps to identify what is external verses internal, and what the responsibilities of the system are. The external environment is represented only by actors.


What is Relationship? Relationship between use case and actor. Communicates Relationship between two use cases Extends Uses Notation used to show the relationships:



USES: . . 47 . Relationship between two use cases is refereed as either uses or extends.RELATIONSHIP: Relationship between use case and actor is often referred as ³communicates´ .Multiple use cases share a piece of same functionality.This functionality is placed in a separate use case rather than documenting in every use case that needs it.

RELATIONSHIP: Contd.. EXTENDS: It is used to show optional behavior. which is required only under certain condition.. 48 . A uses relationship shows behavior that is common to one or more use cases.

Balance status report extends Clerk Withdraw cash Customer uses Validation ATM Manager 49 .USE CASE diagram: Use case diagram for the shown functionality.

Objective of the second module To understand and capture the detailed specification of a system to be developed. 50 . from user perspective.

Module-3 51 .

Beginning Analysis and Design Completion of first version of use case diagram initiates the processes of analysis and design. 52 . First step towards analysis and design is to specify the flow of events. Every diagram and notation used in the diagram carries the semantics. UML provides the framework to carry out the process of analysis and design in form of set of diagrams.

Flow of Events: A flow of events document is created for each use case. Typical contents ± How the use case starts and ends ± Normal flow of events ± Alternate flow of events ± Exceptional flow of events Typical Course of Events has: Actor Action(AA) System Response(SR) 53 . Details about what the system must provide to the actor when the use is executed.

(SR) The ATM verifies the serial number and password with the bank and gets the notification accordingly.(AA)User selects the withdrawal.(SA)The ATM asks the user to select the kind of transaction. 3.(AA) The user inserts a cash card.(SR) The ATM accepts the card and reads its serial number. 54 . 8. 7. 6.Normal Flow of Events: For withdrawal of cash: 1. 2. 5. 4.(SR) The ATM asks the user to insert a card.(SR) The ATM requests the password.(AA) The user enters 1234.

9.Normal Flow of Events: Contd.(SR) The ATM dispenses cash and asks the user to take it.. 13.. user enters Rs. 12. 2500/10. 14. to process the transaction which eventually confirms success and returns the new account balance.(SR) The ATM asks whether the user wants to continue.(SR)The ATM verifies that the amount of cash is within predefined policy limits and asks the bank. 11. 55 .(AA) The user indicates no.(SR)The ATM asks for the amount of cash.(AA) The user takes the cash.

. 17. ejects the card and asks the user to take them 16.(SR) The ATM asks a user to insert a card.(AA) The user takes the receipt and the card.Normal Flow of Events: Contd.(SR) The ATM prints a receipt.. 15. 56 .

57 . the user has change of mind and hits the ³cancel´. The ATM asks for the amount of cash.Alternative Flow of Events: For withdrawal of cash use case: 9.

Exceptional Flow of Events: For withdrawal of cash use case: 3 Suspicious pattern of usage on the card. 10 The machine is out of cash. 58 . 11 Money gets stuck in the machine.

59 .Why flow of events? It helps in understanding the functionality of a system to be developed. Happens to be most important and very first step towards analysis and design. Flow of events helps in finding objects of the system to be developed.

A scenarios is one path through the flow of events for the use case. 60 . Scenarios are developed to help identify objects.What is Scenario? The functionality of the use case is captured in flow of the events. classes and object interactions for that use case.

Objective of the third module To understand the flow of each functionality and find out the objects and methods required to build the system. 61 .

Module-4 62 .

USE CASE Realizations: The use case diagram presents an outside view of the system Interaction diagrams describe how use cases are realized as interactions among societies of objects. Two types of interaction diagrams ± Sequence diagrams ± Collaboration diagrams 63 .

What is Interaction diagram? Interaction diagrams are models that describe how groups of objects collaborate in some behavior There are 2 kinds of interaction diagrams ‡ Sequence diagram ‡ Collaboration diagram Sequence diagrams are a temporal representation of objects and their interactions Collaboration diagrams are spatial representation of objects. links and interrelations 64 .

They show sequence of messages among the objects. Shows object interaction arranged in time sequence. Components of sequence diagram: -objects -object lifeline -Message -pre/post conditions. 65 .What is sequence diagram? Typically these diagrams capture behaviors of the single scenario. vertical represents time & horizontal represents objects. It has two dimensions.

Object life line are denoted as dashed lines.OBJECT & OBJECT LIFE LINE: Object are represented by rectangles and name of the objects are underlined. Name:Class 66 . They are used to model the existence of objects over time.

receiver. 67 . The message instance has a sender.MESSAGES: They are used to model the content of communication between objects. The sender will send the message and receiver will receive the message. They are used to convey information between objects and enable objects to request services of other objects. Messages are denoted as labeled horizontal arrows between life lines. and possibly other information according to the characteristics of the request.

This is a Boolean condition that must be satisfied to enable the message to be sent. May have parentheses containing an argument list consisting of a comma separated list of actual parameters passed to a method. 68 .MESSAGES: Contd« May have square brackets containing a guard conditions. May have have an asterisk followed by square brackets containing an iteration specification. Must have a name or identifier string that represents the message. May have return list consisting of a comma -separated list of names that designate the values of returned by the operation. This specifies the number of times the message is sent.

eject card Request take card Take card Display main screen and prompt for the card.k.Sequence diagram :Customer Insert card Request password Enter the password Request option Enter option Request amount Enter the amount [for withdrawal of cash. normal flow] :ATM Verify account Account o. Create Transaction :Bank :Transaction Dispense cash Request take cash Take cash Request continuation Update transaction Transaction commit Transaction complete Terminate Print receipt . 69 .

What is Collaboration diagram? Collaboration diagrams illustrate the interaction between the objects. Unlike sequence diagram the time is not explicitly represented in these diagrams In collaboration diagram the sequence of messages is indicated by numbering the messages. without going into the details of user interface. 70 . The UML uses the decimal numbering scheme. an actor can be displayed in order to represent the triggering of interaction by an element external to the system. In these diagrams. using static spatial structure. This helps in representing the interaction.

‡ It uses decimal notation. Messages has following attributes: ‡ Synchronization --thread name.Components of collaboration diagram: Named objects Links: Links are represented by a continuous line between objects. Message names may have the arguments and return values. 71 . ‡ Message direction. step within thread. ‡ *[iteration]. and indicates the exchange of messages. ‡ Sequence number ‡ Message labels : The name of the message often corresponds to an operation defined in the class of the object that is the destination of the message.

Messages in the collaboration diagram get transformed to more detailed signature. They use the decimal notation system for numbering the messages. The direction of the message defines the sender and receiver of the message 72 .Semantics of components: Object names identify which objects are participating and the links show which objects collaborate A link between two objects must exist for one object to send message to another and vice a versa.

r):return value 73 .The elements of message: Predecessor Role names Message qualifiers ± ± ± ± ± Iteration expression Parameters Return values Guard Message stereotypes Concurrent thread sequencing Thread dependencies Message expression [Pre] A1:*(expression):doIt(p.

The examples of message: 4: isplay(x.2:subtract[Today.1: isplay(x.b.y) 4.3..2: ote() 4.a.n]:Turnoff() 74 . ith other flo of execution Iteration arallel iteration [ ge =18] 6.3.6/c.1:Turnon( amp) 1*: ash() 3.b/4*||[i:=1. irthday]:age imple message ested message ested message ith return value onditional message ynchro.a.y) 3.

bad bank account message process transaction ATM Transaction succeed Transaction failed account o. dispense cash. bad account.k. Verify account. eject card. request password. Take card cancel. Continue CUSTOMER Create Transaction Transaction complete Display main screen unreadable card message.Terminate. print receipt. bad password. request take card bad account message. request kind. request take cash request continuation. normal flow.] 1. bad bank code TRANSACTION BANK 75 . canceled message. Take cash. Insert card Enter password. failure message. Enter kind Enter amount. request amount.Collaboration diagram [for withdrawal of cash.

Objective of the fifth module To know the interaction among the objects in temporal and spatial form. To know how objects collaborate among each other and hence delegate the responsibility to the respective objects. 76 . To understand how the messages get matured with more information.

Module-5 77 .

aggregation. composition. their structure and behavior.What is Class diagram? A class diagram shows the existence of classes and their relationships in the logical view of a system UML modeling elements in class diagrams are: ± Classes. dependency and inheritance ± Multiplicity and navigation indicators ± Role names or labels. 78 . ± relationships components among the classes like association.

An abstract class can define the protocol for an operation without supplying a corresponding method we call this as an abstract operation. for which each concrete subclass should provide its own implementation. that is it can have different instances. Only concrete classes may be leaf classes in the inheritance tree.Major Types of classes: Concrete classes A concrete class is a class that is instantiable. 79 . Abstract classes An abstract class is a class that has no direct instance but whose descendants classes have direct instances. An abstract operation defines the form of operation.

RELATIONSHIP: Association Aggregation Composition Inheritance Dependency Instantiation 80 .

ASSOCIATION: These are the most general type of relationship: It denotes a semantic connection between two classes It shows BI directional connection between two classes It is a weak coupling as associated classes remain somewhat independent of each other Example: CUSTOMER ATM system 81 .

AGGREGATION: This is a special type of association The association with label ³contains´ or ³is part of´ is an aggregation It represents ³has a ³ relationship It is used when one object logically or physically contains other The container is called as aggregate It has a diamond at its end The components of aggregate can be shared with others It expresses a whole .part relationships 82 .

AGGREGATION: Example: Customer ATM card 83 .

COMPOSITION: This is a strong form of aggregation It expresses the stronger coupling between the classes The owner is explicitly responsible for creation and deletion of the part Any deletion of whole is considered to cascade its part The aggregate has a filled diamond at its end Window Client Area 84 .

INHERITANCE: The inheritance relationship helps in managing the complexity by ordering objects within trees of classes with increasing levels of abstraction.shown below. Account CurrentAccount SavingAccount 85 . Generalization and specialization are points of view that are based on inheritance hierarchies. Notation used is solid line with arrowhead.

The server need not know about client. The client avails services provided by server so it should have semantic knowledge of server.DEPENDENCY: Dependency is semantic connection between dependent and independent model elements. In the following example it shows the dependency relationship between client and server. Client Server 86 . This association is unidirectional and is shown with dotted arrowhead line.

Parameterized class is also referred as generic class. A parameterized class can¶t have instances unless we first instantiated it Example: Element Queue Queue<int> 87 .INSTANTIATION This relationship is defined between parameterized class and actual class.

What is Cardinality? : Definition: Number of instances of each class involved in the dialogue is specified by cardinality.. Common multiplicity values: Symbol Meaning 1 One and only one 0..* From one to any positive integer Also thought can be given about navigability to every applicable relationship..* From zero to any positive integer 1.1 Zero or one M«N From M to N (natural integer) 0. 88 .

Messages get mapped to responsibilities for respective classes. Find the attributes for every class.] 89 .we group the similar objects and form classes. their interaction and detailed message signature. This complete procedure brings the minimal class diagram [for withdraw cash use case. Transform the links to appropriate relationships. normal flow. This information is carried forward to the class diagram.Reaching the class diagram: In collaboration diagram we have shown the objects. Relationship is further refined with respect to multiplicity and navigability. At this point.

* 1 1 1 Bank[Branch] 90 ..* 1.Class diagram [for withdrawal of cash..* Transaction 1.* ATMSystem 0. normal flow] Customer 1 1...

At this point. normal flow of events. Approximate sketch for this class diagram has been shown at the end of this module. Next few slides will take into the discussion of refinement attributes. we refine this integrated class diagram to add further fine details. Refinement attributes should be updated right from sequence diagram to class diagram.What more to the Class Diagram? Till this slide we have worked out the essentials of class diagram for withdrawal of cash use case. This process of iterative and incremental development will continue till there is no change in two consecutive iteration. 91 . Similar exercise required to be carried out for every scenario and clubbed all in the class diagram.

OOAD---Iterative & Incremental Approach Identify objects Identify Messages Validate Classes & Objects Group classes into domains Identify class behavior Group Objects into classes Identify & classify Class relationships 92 .

Refinement attributes: Stereotypes: Stereotypes are part of the range of extensibility mechanism provided by UML It permits user to add new model element classes on top of the kernel predefined by UML 93 .

pseudo code. attributes. Object Constraint Language. UML doesn't specify a particular syntax for constraints.Refinement attributes: Contd« Constraints: Constraints are functional relationship between the entities and object model. A constraint restricts the values that entities can assume. navigation expression or mathematical expression UML1. so they may therefore be expressed using natural language. links. other than they should appear between braces. association.2 does prefer the use of a constraint language OCL i. classes. 94 . The entities include objects. which is subset of UML.e.

8 or > 1.8< length/width < 1.5 Window length/width A constraint between the properties of the same object {0.5} 95 . of transaction < 5 /day} No window will have an aspect ratio i.e. (length/width) of less than 0. Transaction {No. Constraint on the same class.Refinement attributes: Example:Constraints Number of withdrawal transaction should be less than five per day.

Collection may have at most one copy of given item. Some constraints may be combined such as: {ordered set} 96 .Refinement attributes: Qualifier: UML provides a role of constraint notation to indicate different kind of collections that may be inherent in the analysis model Common role constraints for multi valued roles include {ordered} {bag} {set} Collection is maintained in sorted manner Collection may have multiple copies of same item.

One to many and many to many association may be qualified. A qualified association is the UML equivalent of a programming concept variously known as associative arrays. This is called as qualified association and the key value as qualifier. 97 .dictionaries A qualified association relates two object classes and a qualifier The qualifier is a special attribute that reduced the effective multiplicity of an association.Refinement attributes: Qualifier: Another common design scheme is to use a key value to retrieve an item from the collection. maps.

Check for the scope forming abstract classes and template classes. normalize with qualifier or association class. 98 . if any. Check for helper functions. Thought can be given for using the design patterns.Refinement attributes: Check for many to many relationship.

Objective of the fifth module:
Learn to build the architecture, which contains the entire information of the system to be developed. It is this architecture which is called as BLUE PRINT is handed over for coding.


Refined Class diagram
Area ATMSystem

[for withdrawal of cash]

Few more relationship can be further added to the shown diagram:

1..* 1 Bank[Branch] 1 1

BankComputer <<abstract>> person

Cash <<abstract>> AccountAccessor

Transaction 1..* Slips 1..* <<abstract>> Account 1 CurrentAccount SavingAccount 1 1

CashierStation Customer BankAssociates 1 TellerScreen 0..1 BankCard NoteHelpForBankCard ATMScreen




What is state transition diagram? A state transition diagram shows the states of a single object. Components of State Diagram: ± Start State ± Stop state ± State Transition 102 . the events or the messages that cause a transition from one state to another and the action that result from a state change. A state transition diagram will not be created for every class in the system.

Notation for stop state is bull¶s eye.Semantics of every components: State: A state is a condition during the life of an object when it satisfies some condition. Start state: Each state diagram must have one and only one start state. Notation for start state is ³filled solid circle´. performs some action. 103 . Special states:There are two special states. The UML notation for a state is a rectangle with rounded corners. Stop State: An object can have multiple stop states. or waits for an event.

.Semantics of every components: Contd. Transition label: event name[guard condition] / action 104 . State transition: A state transition represents a change from an originating to a successor state..

] request and fill the form for new saving account[ validate ] / process Open transaction request[ validate ] / update() transactionStrart / Transfer_to_main_ledger () Dormant Operational no transaction / Transfer_to_Dormant_Ledger Fraud or authorized instruction[Validate] / lockAccount() matter_resolved[ validate ] / unlockAccount() seized fill_the_request_form/update() close fill_the_request_form / update() Note:Account can be closed from open state as well 105 .State Transition Diagram [for Account class.

More about State Diagram: A state diagram will not be created for every class. State diagrams are also useful to investigate the behavior of user interface and control classes. State diagram are used to show dynamics of a individual class 106 . state diagrams are used only for those classes that exhibit interesting behavior.

What is activity diagram?
It is a special kind of state diagram and is worked out at use case level. These are mainly targeted towards representing internal behavior of a a use case. These may be thought as a kind of flowchart. Flowcharts are normally limited to sequential process; activity diagrams can handle parallel process. Activity diagrams are recommended in the following situations:  Analyzing use case  Dealing with multithreaded application  Understanding workflow across many use cases.


Consistency Checking

Consistency checking is the process of ensuring that, information in both static view of the system(class diagram) and the dynamic view of the system(sequence and collaboration diagram) is telling the same story.


Objective of the sixth module
Understand the dynamic behavior of a class Way to find the parallel processes at use case level.


Module-7 110 .

A component may be ‡ A source code component ‡ A run time components ‡ An executable component ‡ Dependency relationship. 111 .What is component diagram? COMPONENT DIAGRAM: Component diagrams illustrate the organizations and dependencies among software components.

exe ATM.dll Branch Bank.exe 112 .Component Diagram policy.exe customer.dll Branch Bank.dll [for withdrawal of cash] Bank Server.

they also may represent indirect coupling such as satellite to ground communication. 113 . Connection among nodes show the communication path over which the system will interact. The connections may represent direct hardware coupling line RS-232 cable. These diagram include nodes and connections between nodes. Each node in deployment diagram represents some kind of computational unit. Ethernet connection.What is deployment diagram? A deployment diagram shows the relationship among software and hardware components in the delivered system. in most cases a piece of hardware.

exe Bank_ server BankServer.exe 114 .exe Ethernet Ethernet ATM_ machine ATM.Deployment diagram Branch Bank_ Bank.

Objective of the seventh module: To understand the organization of software modules and their deployment on the respective hardware. 115 .

Module-8 116 .

Architecture Centric 117 .Calendar Centric 2.Understanding the project culture It may be: 1.Documentation Centric 4.Requirement Centric 3.Quality Centric 5.

that are not yet known or well understood. yet is resilient enough to adapt to those requirements. In every sense of the word. These projects are characterized by a focus on creating a frame work that satisfies all known requirement. architect-driven policies are in evolutionary step beyond requirement driven policies. Architecture driven style of development is usually the best approach for the creation of most complex software intensive systems 118 .Understanding the project¶s culture Architecture driven projects represent the most mature style of development.

Understanding the project¶s culture Architecture driven style of development typically observe the following process: 1. Create. making mid-course corrections as necessary to adopt to new requirements as they are uncovered. Evolve that architecture. (Design) 3. Specify the system¶s desired behavior through a collection of scenarios. an architecture. 119 . (Analysis) 2. then validate.

2.OOAD---Architecture Centric What exactly is nature of the well structured object oriented architecture?? 1. A set of classes. typically organized into multiple hierarchies. 120 . A set of collaboration that specify how those classes co-operate to provide various system function.

ESSENCE OF OOAD AND UML Use case driven Architecture centric Incremental and iterative approach. 121 .

Desire for good Architecture Those of us who have been trained as architects have this desire perhaps at the very center of our lives. a place where people can walk and dream for centuries. breathtaking. some where somehow. beautiful. we shall build one building which is wonderful. 122 . CHRISTOPHER ALEXANDER Same desire should also be applicable in creating software architecture as well.that one day.

Appendix-A 123 .

Strong recommendation Object Technology ± David A. Taylor Object Oriented Analysis and design with Applications ± Grady Booch UML distilled ±Martin Fowler Instant UML ± Pierre .Alain Muller Software Engineering ± Roger S Pressman 124 .

. Winters UML Toolkit ± Hans-Eriksson and Magnus Penker Version1.REFERENCES Contd.. Object Oriented Modeling and Design ± James Rumbaugh Object Oriented Software Engineering ± Ivar Jacobson Clouds to code ± Jesse Liberty Applying use cases ± Geri Schneider ±Jason p.1 125 .

THANK-U! 126 .

One demonstration session on the tool like Rational Rose can be accompanied.The following is the suggested agenda for the course.2 2-hours demonstration lecture Module-3 2-hours Module-4 2-hours Module-5 4-hours Module-6 2-hours Module-7.8 2-hours Demonstration 2-hours 127 . Duration Session Module-1.Course description: SESSION BREAKUP: The course will be offered in series of fourteen hours theory session.

Course description: REFERENCE AND READING MATERIALS: Refer to Appendix-A EXERCISE AND HANDS ON: One case study should be given to the group of four members. 128 . TEST: Case study given for exercise can be evaluated as part of the test.

Object oriented analysis and design with applications by Grady Booch Note: UML toolkit should be refereed for UML notations.Course description: INSTRUCTION TO THE FACULTY: Course should emphasize on OO modeling. 129 .2] and UML diagrams and then applying to a problem. Focus should be primarily on understanding UML[1. Following are strongly recommended reading and should be used as supplementary with this power point courseware.their syntax and semantics. 1. Object oriented analysis and design with applications should be refereed for OO concepts. Several excellent references are given in Appendix-A.UML toolkit by Eriksson and Magnus Penker 2.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->