Object-Oriented Analysis and Design Using UMLObjectives                In this session, you will learn to:                ...
Object-Oriented Analysis and Design Using UMLDefining the System                Defining a new software system consists of...
Object-Oriented Analysis and Design Using UMLAnalyzing a Problem                Analyzing a problem involves preparing a c...
Object-Oriented Analysis and Design Using UMLBusiness Modeling                Business modeling describes the working of t...
Object-Oriented Analysis and Design Using UMLBusiness Modeling (Contd.)                Consider the following case study o...
Object-Oriented Analysis and Design Using UMLSystem Modeling               System modeling shows the flow of information b...
Object-Oriented Analysis and Design Using UMLSystem Modeling (Contd.)                Use the business use cases identified...
Object-Oriented Analysis and Design Using UMLJust a minute                    Which of the following diagrams of Business ...
Object-Oriented Analysis and Design Using UMLIdentifying Stakeholders                Identifying the needs of stakeholders...
Object-Oriented Analysis and Design Using UMLIdentifying Stakeholders (Contd.)                The attributes of the featur...
Object-Oriented Analysis and Design Using UMLIdentifying and Managing Requirements                Requirement management i...
Object-Oriented Analysis and Design Using UMLRequirements Gathering               The various activities involved in gathe...
Object-Oriented Analysis and Design Using UMLRequirement Analysis and Negotiation                Requirement analysis is t...
Object-Oriented Analysis and Design Using UMLRequirements Specification                Requirement specification is an act...
Object-Oriented Analysis and Design Using UMLRequirement Validation                Requirement validation is an activity t...
Object-Oriented Analysis and Design Using UMLRequirement Gathering Techniques                To gather requirements effect...
Object-Oriented Analysis and Design Using UMLIdentifying Storyboarding Techniques                Storyboarding is a techni...
Object-Oriented Analysis and Design Using UMLIdentifying Storyboarding Techniques (Contd.)                Types of storybo...
Object-Oriented Analysis and Design Using UMLCreating Use Case Diagrams for System Modeling                A use case diag...
Object-Oriented Analysis and Design Using UMLCreating Use Case Diagrams for System Modeling (Contd.)                The in...
Object-Oriented Analysis and Design Using UMLCreating Use Case Diagrams for System Modeling (Contd.)                System...
Object-Oriented Analysis and Design Using UMLCreating Use Case Diagrams for System Modeling (Contd.)                    Th...
Object-Oriented Analysis and Design Using UMLDemo: Identifying Requirements and Creating a Use Case Diagram for InfoSuper ...
Object-Oriented Analysis and Design Using UMLDemo: Identifying Requirements and Creating a Use Case Diagram for InfoSuper ...
Object-Oriented Analysis and Design Using UMLDemo: Identifying Requirements and Creating a Use Case Diagram for InfoSuper ...
Object-Oriented Analysis and Design Using UMLDemo: Identifying Requirements and Creating a Use Case Diagram for InfoSuper ...
Object-Oriented Analysis and Design Using UMLSummary               In this session, you learned that:                  Bus...
Object-Oriented Analysis and Design Using UMLSummary (Contd.)               An SRS is a formal document that contains all ...
Object-Oriented Analysis and Design Using UMLSummary (Contd.)               There are two types of relationships in which ...
Upcoming SlideShare
Loading in …5
×

04 ooad uml-04

1,619 views

Published on

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,619
On SlideShare
0
From Embeds
0
Number of Embeds
68
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Initiate the session by explaining the session objectives to the students.
  • Tell the students that when they undertake the development of a software project, all the requirements of the project should be available to them for preliminary planning. Lack of clarity in understanding the requirements of the existing process leads to rework in the designing of the new software system. Next, explain the phases in the definition of a new software system.
  • Explain the constituents of the problem statement that is created after analyzing a problem. Explain the two types of modeling techniques used for analyzing a problem.
  • When you discuss business modeling concepts, you need to emphasize on the factors that distinguish a business actor from a business worker. A business actor initiates or triggers an event in the business scenario. A business worker is involved in the event or the process. The explanation for the hospital administration system also emphasizes on these two statements and derives the business actors and workers. Explain that communication, sequence, interaction overview, and timing diagrams are together called interaction diagrams. Explain business modeling by using the scenario of the hospital administration system given in the student guide. Explain the business use cases, business workers, and business actors for the hospital administration system.
  • When you discuss business modeling concepts, you need to emphasize on the factors that distinguish a business actor from a business worker. A business actor initiates or triggers an event in the business scenario. A business worker is involved in the event or the process. The explanation for the hospital administration system also emphasizes on these two statements and derives the business actors and workers. Explain that communication, sequence, interaction overview, and timing diagrams are together called interaction diagrams. Explain business modeling by using the scenario of the hospital administration system given in the student guide. Explain the business use cases, business workers, and business actors for the hospital administration system.
  • When you explain the business and system modeling concepts, it is likely that the students may get confused on when to draw a business model, system model, and the role of UML diagrams in the entire scenario. You create a business model to analyze the workflow of processes or the workflow of the existing software system of an organization. The notations that UML provides for business modeling are different from the notations for creating the diagrams for the proposed or the new software system. The UML diagrams that you create for the proposed system are a part of the system modeling process. Explain system modeling by using the scenario of the hospital administration system given in the student guide. When explaining System Context Diagram (SCD) tell the students that an organization that uses UML for the proposed software system may not create SCD and only create a use case diagram. SCD is a standard technique used in system modeling. It is still used in the industry as a crucial tool to depict the proposed software system. Notice that after UML was accepted as a standard modeling language, there was a shift from SCD to use case diagrams.
  • When you explain the business and system modeling concepts, it is likely that the students may get confused on when to draw a business model, system model, and the role of UML diagrams in the entire scenario. You create a business model to analyze the workflow of processes or the workflow of the existing software system of an organization. The notations that UML provides for business modeling are different from the notations for creating the diagrams for the proposed or the new software system. The UML diagrams that you create for the proposed system are a part of the system modeling process. Explain system modeling by using the scenario of the hospital administration system given in the student guide. When explaining System Context Diagram (SCD) tell the students that an organization that uses UML for the proposed software system may not create SCD and only create a use case diagram. SCD is a standard technique used in system modeling. It is still used in the industry as a crucial tool to depict the proposed software system. Notice that after UML was accepted as a standard modeling language, there was a shift from SCD to use case diagrams.
  • Check the learning of the students by asking the following question.
  • Tell the students that the success of a project depends upon the satisfaction of the stakeholders. Therefore, it is necessary to identify the stakeholders before you develop a product.
  • Explain the attributes of the features that need to documented by referring to the content given in the student guide.
  • Explain that requirements define the features that the software system should deliver. Non-conformance to these features may lead to the failure of the software system. Therefore, you need to establish a process to identify, document, organize, and track these requirements.
  • Explain the factors that make it difficult to gather requirements. Also explain the output of the requirements gathering phase.
  • Explain the process of requirements analysis and negotiation. Also explain the difference between functional and non-functional requirements.
  • When you discuss the Requirements Specification topic, you need to emphasize on the fact that a complete Software Requirements Specification (SRS) document forms the foundation of a good solution and design for the specified requirement. You may take up this topic briefly because the demo, Identifying Requirements and Creating Use Case Diagram for the InfoSuper Bank, provides the requirements in the standard IEEE format.
  • Explain the definition of the term requirement validation. In addition, explain the points in the checklist for requirement validation.
  • Explain the various techniques for gathering requirements by referring to the content given in the student guide.
  • Introduce the topic by telling the students that the customer may not state the requirements clearly. Therefore, you are required to interpret the requirements, create an outline of the proposed software system, and present the outline to the customer for approval. The outline may be created in the form of storyboards. Also explain the concept of storyboarding by using the analogy of an advertisement project given in the student guide.
  • List the various types of storyboards and explain the features of each.
  • Tell the students that for every use case, you need to create a Use Case Specification. The Use Case Specification must specify the name, summary, basic course of events, alternative paths, exception paths, triggers, assumptions, preconditions, post conditions, business rules, authors, and date of creation of the use case. Use the example of Give Appointment use case given in the student guide to explain the components of a use case specification.
  • Tell the students that for creating the system model they need to identify the system actors. Explain what system actors are by using the information given on the slide. Also explain the two types of system actors by using examples given in the student guide. Ask the students to identify the system actors for the hospital administration system. Tell the students that in case of the hospital administration system, the system actors will be identical to the business actors. However, this might not be the case in all the business scenarios.
  • Explain the generalization and association relationships by using the examples given in the student guide.
  • Demonstrate the solution of the problem statement given on the slide by performing the steps given in the student guide. The data file for this activity is provided in the TIRM CD. The path for the data file is: <<<<<PATH>>>>>
  • Summarize the session by using the summary points given in the slide.
  • Summarize the session by using the summary points given in the slide.
  • Summarize the session by using the summary points given in the slide.
  • 04 ooad uml-04

    1. 1. Object-Oriented Analysis and Design Using UMLObjectives In this session, you will learn to: Analyze a problem by using business and system modeling Create use case diagrams for system modeling Ver. 1.0 Slide 1 of 29
    2. 2. Object-Oriented Analysis and Design Using UMLDefining the System Defining a new software system consists of the following phases: Analyzing a problem Identifying stakeholders Identifying, gathering, organizing, and documenting requirements Ver. 1.0 Slide 2 of 29
    3. 3. Object-Oriented Analysis and Design Using UMLAnalyzing a Problem Analyzing a problem involves preparing a concise problem statement that: Defines the workflow of the existing processes of the organization. Defines the constraints that exist for the proposed solution. Defines the goals that need to be achieved by the new software system. To analyze a problem, two types of modeling techniques are used: Business modeling System modeling Ver. 1.0 Slide 3 of 29
    4. 4. Object-Oriented Analysis and Design Using UMLBusiness Modeling Business modeling describes the working of the existing process of an organization and the role that each person plays in the process. Business modeling provides two models for analyzing the existing system: – Business use case model: Represents the functionality of the existing process using business actors and use cases. – Business object model: Represents detailed interaction between business workers and business entities. A business object model uses the following diagrams for a representation of the workflow of the existing processes: Class diagram Activity diagram Interaction diagram Ver. 1.0 Slide 4 of 29
    5. 5. Object-Oriented Analysis and Design Using UMLBusiness Modeling (Contd.) Consider the following case study of Analyzing a Hospital Administration System and identify business use cases, business workers, and business actors to analyze the existing process of the hospital administration system. Microsoft Word Document Ver. 1.0 Slide 5 of 29
    6. 6. Object-Oriented Analysis and Design Using UMLSystem Modeling System modeling shows the flow of information between the proposed software system and its environment at different levels of hierarchy. The business modeling constructs that you can derive and use for system modeling are: Business use cases Business actors Behaviors of business workers Business entities Ver. 1.0 Slide 6 of 29
    7. 7. Object-Oriented Analysis and Design Using UMLSystem Modeling (Contd.) Use the business use cases identified for the hospital administration system case study to derive the system use cases for the hospital administration system. Ver. 1.0 Slide 7 of 29
    8. 8. Object-Oriented Analysis and Design Using UMLJust a minute Which of the following diagrams of Business Object Model shows the static or internal structure of the business in the form of relationships among various classes for the existing system? 1. Class diagrams 2. Use-case diagrams 3. Activity diagram 4. Interaction diagram • Answer: Class diagram Ver. 1.0 Slide 8 of 29
    9. 9. Object-Oriented Analysis and Design Using UMLIdentifying Stakeholders Identifying the needs of stakeholders enables a software team to make better decisions in the definition and implementation phases of the development process. Guidelines that you should follow when you interview the stakeholders are: Ask direct questions. Probe stakeholders to define the conflicting requirements in detail. Document the input gathered from interviews in a universally accepted language, such as English. The input provided by stakeholders during the interview is documented as the required features of the software system. Ver. 1.0 Slide 9 of 29
    10. 10. Object-Oriented Analysis and Design Using UMLIdentifying Stakeholders (Contd.) The attributes of the features that you should document are: Status Rank Effort Uncertainty Stability Target release Assigned to Source Ver. 1.0 Slide 10 of 29
    11. 11. Object-Oriented Analysis and Design Using UMLIdentifying and Managing Requirements Requirement management is a systematic approach for managing the requirements of a project. The various phases of requirement management are: Requirements gathering Requirements analysis and negotiation Requirements specification Requirements validation Ver. 1.0 Slide 11 of 29
    12. 12. Object-Oriented Analysis and Design Using UMLRequirements Gathering The various activities involved in gathering requirements are: Assessing the economic, technical, and operational feasibility for the proposed software system Identifying the stakeholders and end users who specify requirements and jargons appearing in the existing process Identifying the domain constraints in the proposed software system Identifying methods for requirement elicitation Identifying ambiguous requirements Identifying the trivial requirement Ver. 1.0 Slide 12 of 29
    13. 13. Object-Oriented Analysis and Design Using UMLRequirement Analysis and Negotiation Requirement analysis is the process of categorizing and organizing requirements into functional and non-functional requirements. Functional requirements are derived from the need of the stakeholders and include the functions and features of the software system. Non-functional requirements address the implied features of the software system. Non-functional requirements do not directly indicate the functions of a software system. Ver. 1.0 Slide 13 of 29
    14. 14. Object-Oriented Analysis and Design Using UMLRequirements Specification Requirement specification is an activity that involves documenting the requirements analyzed in the analysis phase. The Software Requirements Specification (SRS) is a document produced at the culmination of the analysis task. The information that an SRS must provide is: Definition of the software system Purpose of the SRS document Scope of the software system Functional requirements Non-functional requirements Conditions under which the proposed software system operates Ver. 1.0 Slide 14 of 29
    15. 15. Object-Oriented Analysis and Design Using UMLRequirement Validation Requirement validation is an activity that involves validating all the requirements after they are specified. Validating the requirements involves: Identifying all the ambiguous requirements Identifying the source of each requirement Stating the requirements quantitatively Identifying the dependence among requirements Verifying if the requirements are concise, testable, and traceable Verifying that no requirement is conflicting with the constraints imposed on the software system Ver. 1.0 Slide 15 of 29
    16. 16. Object-Oriented Analysis and Design Using UMLRequirement Gathering Techniques To gather requirements effectively, you need to follow a predefined approach. For example, you need to perform the following activities to gather requirements: Interview stakeholders. Conduct brainstorming sessions among stakeholders. Prepare questionnaires. Observe the existing processes of the organization. Appoint a domain expert. Ver. 1.0 Slide 16 of 29
    17. 17. Object-Oriented Analysis and Design Using UMLIdentifying Storyboarding Techniques Storyboarding is a technique that involves the task to design the user interface on paper before you develop the software system. The user interface storyboards match the definitions of the use case paths described in the basic course of events and provide the graphic presentations of various processes. Storyboarding enables you to obtain customer feedback on how the system should work at a very early stage. The objective of storyboarding is to: Understand data visualization. Define and understand business rules. Model algorithms and other mathematical constructs. Demonstrate reports. Ver. 1.0 Slide 17 of 29
    18. 18. Object-Oriented Analysis and Design Using UMLIdentifying Storyboarding Techniques (Contd.) Types of storyboards: Passive Active Interactive Ver. 1.0 Slide 18 of 29
    19. 19. Object-Oriented Analysis and Design Using UMLCreating Use Case Diagrams for System Modeling A use case diagram for system modeling describes: The interaction between use cases and actors of the proposed software system. The relationships, such as associations and generalizations, existing between use cases and the actor. The use cases are text descriptions of the interaction between outside entities and the software system. The use cases for the proposed software system should contain the following characteristics: Provide value to actors Provide a brief description of the desired functionality Ver. 1.0 Slide 19 of 29
    20. 20. Object-Oriented Analysis and Design Using UMLCreating Use Case Diagrams for System Modeling (Contd.) The information that a use case should contain is: Name Summary Basic course of events Alternative paths Exception paths Triggers Assumptions Preconditions Post conditions Business rules Non-functional requirements Authors Date Ver. 1.0 Slide 20 of 29
    21. 21. Object-Oriented Analysis and Design Using UMLCreating Use Case Diagrams for System Modeling (Contd.) System actors are external entities that interact with the software system and affect the system functionality. System actors can be classified as: – Primary actors: Directly interact with the system and initiate the use case. – Secondary actors: Do not directly interact with the system but can initiate interaction of a primary actor with the system. Ver. 1.0 Slide 21 of 29
    22. 22. Object-Oriented Analysis and Design Using UMLCreating Use Case Diagrams for System Modeling (Contd.) The relationship among actors represents their interaction with other actors and use cases. The various types of relationships that exist among actors are: – Generalization relationship: Exists among actors that have similar behavior and similar properties. – Association relationship: Shows the communication path between the use case and the actor. • Association is represented using an arrow or a simple line. • The arrow show the direction of communication and the line indicates that the communication is occurring in both the directions. Ver. 1.0 Slide 22 of 29
    23. 23. Object-Oriented Analysis and Design Using UMLDemo: Identifying Requirements and Creating a Use Case Diagram for InfoSuper Bank Problem Statement: The InfoSuper bank is a leading financial institution having its clientele across the globe. The bank offers following services to the customers: Corporate banking Personal banking Mutual funds Financer Home loans The InfoSuper bank earns 45% of its total revenue from the personal banking service. As a result, they want to improve their customer satisfaction level and put efforts for retaining and gaining customer loyalty. The bank conducts a survey to find the customer requirements in terms of process time, satisfaction level, and resource requirement for personal banking. Ver. 1.0 Slide 23 of 29
    24. 24. Object-Oriented Analysis and Design Using UMLDemo: Identifying Requirements and Creating a Use Case Diagram for InfoSuper Bank (Contd.) The result of the survey highlights that on an average a customer visits the bank 10 to 15 times per month for transactions, such as cash withdrawal, check deposit, and acquiring transaction summary. The bank needs to have a software system, which can reduce customer visits and improve customer service through improved facilities. The representatives of the InfoSuper bank presented the requirements for the software system to Janes Technologies After analyzing the requirement document, the project manager, Jennifer, of Janes Technologies suggested that the bank should incorporate an Automatic Teller Machine (ATM) system with the following features: – Cash withdrawal – Cash deposit – Transaction summary – Changing the PIN Ver. 1.0 Slide 24 of 29
    25. 25. Object-Oriented Analysis and Design Using UMLDemo: Identifying Requirements and Creating a Use Case Diagram for InfoSuper Bank (Contd.) Fund transfer within the same bank Information about various other services provided by the bank – The place where the ATM system will be deployed should also provide boxes where customers can drop the checks and request for checkbooks. – Jennifer needs to design the ATM system highlighting the system advantages and constituents. Ver. 1.0 Slide 25 of 29
    26. 26. Object-Oriented Analysis and Design Using UMLDemo: Identifying Requirements and Creating a Use Case Diagram for InfoSuper Bank (Contd.) Solution: To design the ATM system, you need to perform the following tasks: Identify requirements. Create SRS. Identify use cases. Identify actors. Depict the relationship between use cases and actors. Save the model. Ver. 1.0 Slide 26 of 29
    27. 27. Object-Oriented Analysis and Design Using UMLSummary In this session, you learned that: Business modeling and system modeling enable you to construct the behavioral as well as functional models of a system. As a result, they enable you to identify the problems of the existing system and the requirements of the proposed system. It is essential to identify the stakeholders and their needs to develop a system. Requirement management is an activity that enables you to systematically manage requirements that evolve during the development of a system. Requirement management consists of various activities, such as requirement gathering, requirement analysis and negotiation, requirement specification, and requirement validation. Ver. 1.0 Slide 27 of 29
    28. 28. Object-Oriented Analysis and Design Using UMLSummary (Contd.) An SRS is a formal document that contains all the final requirements gathered through various processes, such as stakeholder interviews. The requirements validation phase enables you to identify and remove ambiguous requirements. Requirements can be classified as functional and non- functional. The customer explicitly states the functional requirements as opposed to the non-functional requirements, which are the extensions of functional requirements. Use cases are used to model both, functional as well as non- functional requirements. The use case diagram shows the interaction between actors and use cases. Actors represent any external entity that has an effect on the output of the system. Ver. 1.0 Slide 28 of 29
    29. 29. Object-Oriented Analysis and Design Using UMLSummary (Contd.) There are two types of relationships in which an actor participates, generalization and association. Ver. 1.0 Slide 29 of 29

    ×