Hiểu biết về yêu cầu mô hình hóa doc

42 207 0
Hiểu biết về yêu cầu mô hình hóa doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Understanding Requirements Modeling Chapter 3 Before defining any system you should analyze and understand the problem, identify the stakeholders need, and document all the requirements. This will help in better understanding of the current system and the goals that need to be achieved by the new software system. UML provides modeling techniques for analyzing and documenting the requirements of a software system. This chapter includes the process of analyzing a problem by using business and system modeling. In addition, it explains the creation of use case diagrams for system modeling. In this chapter, you will learn to:  Analyze a problem by using business and system modeling  Create use case diagrams for system modeling Objectives ¤NIIT Understanding Requirements Modeling 3.3 You should not commission a software project until you have all the requirements of the project available 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. Defining a new software system consists of the following phases:  Analyzing a problem  Identifying stakeholders  Identifying, gathering, organizing, and documenting the requirements The problem analysis phase of a software project involves preparing a concise problem statement that specifies the problem in the existing software system or the workflow of the organization and the constraints that exist for the proposed solution. A problem statement should include the description of the existing processes and the goals that need to be achieved by the new software system. In addition, you should define a problem statement in the terminology understood by the customer instead of the software jargon. This ensures that the proposed software system will conform to the customer requirements. You can analyze the existing process or software system to create a problem statement by using the following modeling techniques:  Business modeling  System modeling Business Modeling Business modeling is a visual modeling technique that describes the working of the existing process of an organization and the role that each person plays in the process. In other words, business modeling provides a comprehensive overview of the working of the business. The technique enables the development team to focus on the areas that can be automated to improve the efficiency of the business. It also helps identify the changes and enhancements required to implement a new system. After the business requirements for a software project are understood a business case is developed. A business case is a document that contains the cost benefit justification for the project. This information enables a manager to decide whether to support the project before significant resources are committed to its development. Defining the System A nalyzing a Problem 3.4 Understanding Requirements Modeling ¤NIIT The overall intent and purpose of the proposed system is documented in a vision document. The vision document is created for the software development team so that they are clear on the purpose and scope of the project. The document provides an overview of the software being developed. It provides a macro-level view of software requirements. The vision document captures the structure of the proposed system to communicate its intent. Broadly speaking, it lists a statement of the problem, key stakeholders, user needs, a list of the features of a system, and use cases. The vision document also specifies the key stakeholders, key features, and the constraints of the software. Using UML for Business Modeling UML provides various notations for the constructs that enable you to create a business model of the existing software system or process. The following table shows the business modeling constructs and their corresponding UML notations. Name UML Notation Function Business actor Represents an external entity that interacts with the business process. The external entity can be a human or a non-human entity including an event or another process. The business actor initiates or triggers a process in the system. Business workers Represents a role involved in the existing business process. A business worker can be a human or another process. In addition, a business worker can interact with other business workers to manipulate data. Business entity Represents the data or documents that flow from one sub process to another. Business use case Represents the functions of a particular sub process in the existing business process. Collaboration Shows how the particular function described in the use case is implemented. ¤NIIT Understanding Requirements Modeling 3.5 N ote Name UML Notation Function Organizational unit Represents a collection of business units and business entities. UML Notation for Business Modeling The examples of non-human actors are:  Other systems: When a system or a process interacts with the system, it should be represented as an actor.  Date or time: When a use case is initiated by the events, such as date or time, then the events should be modeled as an actor. For example, a software system attached with an appliance needs to start at 6:00 P.M. and should stop at 6:15 P.M. In this case, time initiates the working of the software system and, therefore, becomes an actor for the system.  Triggers: When a trigger, such as temperature, initiates a use case then it should also be represented as an actor. For example, a software system to maintain a particular range of the temperature is initiated when the temperature goes below its lower limit . Business modeling provides the following two models to analyze the existing system:  Business use case model: Represents the functions of the existing process by using business actors and use cases. The business use-case model uses business use case diagrams and abstract activity diagrams to outline the activities for the existing system.  Business object model: Represents extensive interaction between business workers and business entities. For example, a business object model can show the procedure of acceptance of quotations by a department. The quotations are represented as entities, the department that accepts the quotation is an actor because it initiates the quotation process, and the departments that send the quotations are business workers. A business object model uses the following diagrams for an extensive representation of the workflow of the existing processes or the existing software system of an organization: z Class diagram: Shows the static or internal structure of the business in the form of relationships among various classes for the existing system. The classes in the class diagram represent either a business worker or a business entity. These diagrams also show the collaborations between the business workers and business processes in the existing system. 3.6 Understanding Requirements Modeling ¤NIIT z Activity diagram: Represents the flow of activities of the existing system. The diagram represents the dynamic nature of the system and enables you to identify the parallel activities as well as the alternate paths for these activities. It also represents the roles and responsibilities of each business object in the existing system. z Interaction diagram: Represents the interaction between business workers and business objects to perform a business function. Interaction diagrams are of four types, communication, sequence, interaction overview, and timing. Analyzing a Hospital Administration System Consider a problem statement of a hospital administration system. A patient needs to take an appointment for a doctor from the receptionist in the hospital. The receptionist checks the schedule of the doctor and gives the appointment accordingly. The hospital has categorized patients into two age groups: up to 14 and above 14. The receptionist ensures that patients up to 14 years are given an appointment only with a child specialist. The cashier accepts the fees from the patient after each visit. This fee varies according to the doctor attending the patients. During the first visit of the patient, the doctor enters the relevant personal information about the patient in a computer, for future reference. The doctor also enters the health history of the patients, the reports of the tests, if any, and the medicines prescribed to the patients. The doctor can also print the prescription slip and give it to the patient. When the patient goes to the store, the storekeeper accepts the payment, and gives the prescribed medicine to the patient. To ensure that there is uninterrupted supply of medicines, the storekeeper orders new stock when the quantity of a medicine reaches the reorder level. The storekeeper can also order new medicines. The hospital administration system needs to be automated. The proposed software system of the hospital administration system should be able to offer the following functions:  Provide an automated voice response system over the phone that receives the phone calls of the patient and schedules an appointment. The automated voice response system should also enable a patient to cancel the existing appointment.  Provide an automated system that sends a requisition request for medicines whenever the quantity of medicines reaches the reorder level.  Automate the payment procedure from the patient for the services of the doctor and the purchase of medicines.  Automate the schedule modification process. The doctor should be notified about the cancellation of any appointments due to the change in schedule. If the doctor still wants to change the schedule, then all the affected appointments should be cancelled and the patients should be informed accordingly. ¤NIIT Understanding Requirements Modeling 3.7 Let us identify business use cases, business workers, and business actors to analyze the existing process of the hospital administration system. The business use cases identified for the existing hospital administration system are:  Take Appointment: Describes how the receptionist gives an appointment to the patients based on the schedule of the doctor and the category of the patient. This business use case is initiated on the patient’s request or when the doctor wants to schedule a new appointment.  Deliver Medicine: Describes how the storekeeper delivers medicines to the patient. This business use case is initiated when a patient buys the medicine.  Accept Fee: Describes how the cashier accepts the fee from the patient. This business use case is initiated when the patient pays for the services of the doctor.  Print Slip: Describes the procedure of printing the slip on the doctor’s computer. This business use case is initiated when a doctor creates the prescription and gives a print command for the same.  Accept Payment: Describes how the cashier accepts payment from the patient for the medicines purchased from the store. This business use case is initiated when the patient buys medicines from the store.  Reorder Medicine: Describes how the storekeeper orders the medicines. This business process is initiated when the quantity of the medicine falls below the reordering level or the storekeeper wants to buy new medicines.  Modify Schedule: Describes how the doctor modifies the schedule. This process is initiated when the doctor wants to enter new information or modify the existing information in the schedule. The business actors for the hospital administration system are:  Patient: Initiates the Take Appointment, Accept Fee, Accept Payment, and Deliver Medicine use cases and is external to the system.  Doctor: Initiates the Print Slip and Modify Schedule use cases and is external to the existing process.  Reorder Level: Acts as a trigger to initiate the Reordering Medicine use case and is external to the system. Business workers are involved in carrying out a business use case or a business process. A person or an entity can act as a business actor for one process and a business worker for another process. For example, if Treatment is considered as a use case, then the doctor who is an actor for other processes becomes the business worker for the Treatment process. 3.8 Understanding Requirements Modeling ¤NIIT The business workers of the existing hospital administration system are:  Receptionist: Attends the patient’s phone calls and, therefore, is involved in the Take Appointment use case.  Storekeeper: Delivers medicine to the patients and orders new medicine. The storekeeper is involved in the Reordering Medicine and Deliver Medicine business use cases.  Cashier: Accepts fees and payment from the patient and, therefore, is involved in the Accept Fee and Accept Payment business use cases. A business use case diagram for the hospital administration system shows the interaction between the business use cases and the business actors. The following figure shows the business use case diagram for the existing hospital administration system. The Business Use Case Diagram for the Hospital Administration System System Modeling Business modeling enables you to understand the existing process and gather the requirements for the new software system. On the other hand, system modeling gives a proposed solution to fulfill the gathered requirements. System modeling provides a System Context Diagram (SCD) to depict the flow of information between the proposed software system and its environment at the different levels of the hierarchy. The subsystems for the proposed software system are modeled as ¤NIIT Understanding Requirements Modeling 3.9 use cases. After the use cases are identified, you can derive other UML diagrams, such as the class, object, and activity diagrams, from these use cases. You can derive the use cases for the proposed software system from a business model. The following are the business modeling constructs that you can derive and use for system modeling:  Business use cases: Enable you to identify the sub processes that constitute the proposed solution.  Business actors: Map to the actors in the system model.  Behaviors of business workers: Enable you to find system use cases and define the features for the new system model.  Business entities: Help find the entity classes when you create the class diagrams. System Modeling for the Hospital Administration System You can use the identified business use cases to derive the system use cases for the hospital administration system. The use cases for the automated hospital administration system are:  Modify Schedule: Enables the doctor to enter new information or modify the existing information in the schedule.  Give Appointment: Gives an appointment to a patient by using the automated voice response system.  Accept Fee: Accepts the payment from the patient for the services of the doctor.  Reordering Medicines: Orders medicines whenever the stock of the particular medicines reaches the reorder level.  Print Slip: Prints the slip on the doctor’s computer.  Accept Payment: Accepts payment from the patient for the purchased medicines. The new software system needs to interact with the existing software system. For example, the process of entering the information about the patient does not change, and the new software system should be able to use this information from the existing software system itself. As a result, a new use case, Communication with Existing System, is required to create a link between the existing software system and the new software system. 3.10 Understanding Requirements Modeling ¤NIIT N ote You need to include the Communication with Existing System use case in the SCD. The following figure shows the SCD at the first level of the automated hospital administration system. SCD for the Hospital Administration System You will learn more about how to create a use case diagram for system modeling in the next section, Creating Use Case Diagrams for System Modeling. [...]... schedule of the doctor and the category of the patient A doctor can also give appointments to the patients during treatment Actors: Patient and Doctor Assumptions: The doctor has updated the schedule Basic course of events: The patient makes a call for an appointment The software system asks for the age of the patient The patient enters the age The software system checks the schedule of the doctor and gives... implemented The documented requirements need to unambiguous The Software Requirements Specification (SRS) is a document produced at the culmination of the analysis task This document provides the detailed description of the information domain and each function that needs to be performed by the software It also provides information about the behavioral description of the software system The SRS document should... system will fulfill the requirements of the stakeholder 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 A feature can also be defined as a service that the software system... stakeholder needs You need to provide additional information in the form of feature attributes when you document features NIIT Understanding Requirements Modeling 3.11 This ensures that the features are communicated adequately to the rest of the team The attributes of the features that you should document are: Status: Indicates whether the feature is proposed for the next version, approved for the next... patient enters the age The software system checks the schedule of the doctor and gives the appointment accordingly Preconditions: The doctor’s schedule should be valid Post conditions: The software system records the new appointment time and updates the schedule of the doctor Non-functional requirements: The patient should not be required to wait for more than a minute to obtain an appointment Author:... develops standards for the computer and electronics industry IEEE has laid down the standard for the SRS document You can create specific SRS formats for all the requirements of the InfoSuper bank Task 3: Identifying Use Cases You can directly derive the use cases for the ATM system from the SRS document The use cases are: Cash Withdrawal Cash Deposit Check Deposit Transaction Summary PIN change Fund... patients to give new appointments and cancel the existing appointments Generate reports of patients based on their name, age, or prescription slip Generate a report of all the patients who visit a particular doctor on a particular day Use the reorder level to order new medicines Non-Functional Requirements Non-functional requirements are qualities that a software system should possess other than those concerning... incorporate the feature in the product It could be one person or the complete development team Source: Tracks the source of the requested feature It could be a reference to a page of the product specification document You can use attributes to track, prioritize, and manage the features proposed for implementation For example, the attribute, target release, records the software version in which you intend to... document should be: Consistent Concise Complete Flexible You can use various formats to create an SRS An SRS must provide the following information: 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 NIIT Understanding Requirements Modeling 3.15 Note... automate the account keeping process of a bank, the system analyst visits the bank The system analyst needs to identify the flow of information from one department to another The analyst observes the documents and the bank employees involved in the information flow The analyst also identifies how each transaction is recorded in separate books of accounts This enhances the understanding of the requirements . proposed system is documented in a vision document. The vision document is created for the software development team so that they are clear on the purpose and scope of the project. The document provides. the doctor attending the patients. During the first visit of the patient, the doctor enters the relevant personal information about the patient in a computer, for future reference. The doctor. pays for the services of the doctor.  Print Slip: Describes the procedure of printing the slip on the doctor’s computer. This business use case is initiated when a doctor creates the prescription

Ngày đăng: 12/08/2014, 18:22

Tài liệu cùng người dùng

Tài liệu liên quan