🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Document Details

TriumphantLutetium7159

Uploaded by TriumphantLutetium7159

NSBM Green University

Tags

requirements analysis use case modeling computer science

Full Transcript

Requirements Analysis Dulanjali Wijesekara Lecturer Department of Computer and Data Science Faculty of Computing NSBM Green University Requirement analysis The goal is to create a clear and comprehensive set of requirements that reflect the expectations and constraints of the system...

Requirements Analysis Dulanjali Wijesekara Lecturer Department of Computer and Data Science Faculty of Computing NSBM Green University Requirement analysis The goal is to create a clear and comprehensive set of requirements that reflect the expectations and constraints of the system stakeholders, including users, customers, and other affected parties. This phase ensures that the final system will be aligned with the organizational goals, user needs, and operational requirements. are documented, actionable, measurable, testable, traceable High-quality requirements helps to identify business opportunities, and are defined to facilitate system design Use cases vs User stories User Stories Use Cases Short descriptions Short or Lengthy Descriptions Requirements who and why User Flow or Interactions General Guidance In-depth Guidance No technical Details Detailed to write Use Case Diagram – UML (Unified Modelling Language) Purpose of Use Case Diagram Use case diagrams are typically developed in the early stage of development and people often apply use case modeling for the following purposes, Specify the context of a system Capture the requirements of a system Validate a systems architecture Drive implementation and generate test cases Developed by analysts together with domain experts Actor Someone interacts with use case (system function). Named by noun. Actor plays a role in the business Like the concept of user, but a user can play different roles For example: A prof. can be instructor and also researcher plays 2 roles with two systems Actor has a responsibility toward the system (inputs), and Actor has expectations from the system (outputs). System function (process - automated or manual) Use Named by verb + Noun (or Noun Phrase). Case i.e. Do something Each Actor must be linked to a use case, while some use cases may not be linked to actors. Communication Link The participation of an actor in a use case is shown by connecting an actor to a use case by a solid link. Actors may be connected to use cases by associations, indicating that the actor and the use case communicate with one another using messages. Boundary of system The system boundary is potentially the entire system as defined in the requirements document. For large and complex systems, each module may be the system boundary. For example, for an ERP system for an organization, each of the modules such as personnel, payroll, accounting, etc. can form a system boundary for use cases specific to each of these business functions. The entire system can span all of these modules depicting the overall system boundary Relationships Use cases share different kinds of relationships. Defining the relationship between two use cases is the decision of the software analysts of the use case diagram. A relationship between two use cases is basically modeling the dependency between the two use cases. The reuse of an existing use case by using different types of relationships reduces the overall effort required in developing a system. Use case relationships are listed as the following: Extends Indicates that an "Invalid Password" use case may include the behavior specified by base use case "Login Account". Depict with a directed arrow having a dotted line. The tip of arrowhead points to the base use case and the child use case is connected at the base of the arrow. The stereotype "" identifies as an extend relationship The extending use case is usually optional and can be triggered conditionally. Cont’d You can add extend relationships to a model to show the following situations: A part of a use case that is optional system behavior A subflow is executed only under certain conditions A set of behavior segments that may be inserted in a base use case Include When a use case is depicted as using the functionality of another use case, the relationship between the use cases is named as include or uses relationship. A use case includes the functionality described in another use case as a part of its business process flow. A uses relationship from base use case to child use case indicates that an instance of the base use case will include the behavior as specified in the child use case. An include relationship is depicted with a directed arrow having a dotted line. The tip of arrowhead points to the child use case and the parent use case connected at the base of the arrow. The stereotype "" identifies the relationship as an include relationship. This behavior is modeled with a base use case called Example CheckOrderStatus that has an inclusion use case called LogIn. The LogIn use case is a separate inclusion use case because it contains behaviors that several other use cases in the system use. An include relationship points from the CheckOrderStatus use case to the LogIn use case to indicate that the CheckOrderStatus use case always includes the behaviors in the LogIn use case. Include Relationship Generalization A generalization relationship is a parent-child relationship between use cases. The child use case is an enhancement of the parent use case. Generalization is shown as a directed arrow with a triangle arrowhead. The child use case is connected at the base of the arrow. The tip of the arrow is connected to the parent use case. Example Generalization Example In an online bookstore system, three primary actors interact with the system: the Customer, the Guest, and the Admin. The Guest, an unregistered user, starts by browsing through the available book selections. Due to what it presents, the Guest decides to become a Customer by registering an account. Once registered and logged in, the Customer explores more functionalities, where they select desired books to purchase. Moving forward, the Customer proceeds to "Checkout," providing necessary payment and shipping information to finalize the purchase, culminating in a confirmation of the order. Concurrently, the Admin, who oversees the system, can add new titles, update existing ones, or remove outdated books to maintain an up-to-date collection. Additionally, the Admin can generate insights analyzing sales data, popular titles, and overall customer activity to make informed decisions about inventory and promotions. What Use Cases Include What Use Cases Do NOT Include Who is using the website Implementation-specific language What the user want to do Details about the user interfaces or The user's goal screens. The steps the user takes to accomplish a particular task How the website should respond to an action Case Study – lets Draw this PumpIt Power Gyms is a franchise chain of 24-hour gyms that operate across the country. Franchisees run and operate each of the gyms and the franchisor supports the ongoing operation through collective marketing, and standardised software. The system has access points at the front desk where members first enter and sign-in. The system then must allow a new customer to sign up to become a member, taking various personal information and issuing them with a membership card that provides their authentication for entering the gym. It should request a monthly membership payment that the customer makes. It should also assign the member a personal trainer and keep track of their progress through a plan of fitness prescribed by the trainer. If the member are interested in classes, they can sign up for classes such as Pilates and Yoga and for fitness competitions. The gym will attract sponsors from the local area so that the winner of competitions will have a prize. Exercise 02 McDonald’s Family Restaurants has a long history of evolving with the needs of its customers and of adapting to changes in technology. One technological change that suited its business structure and operations was the use of touch-screen terminals in its restaurants. The terminals allow customers to place their orders, including making customisations (e.g. extra cheese, no mayonnaise, etc.) and to pay for their order without needing to interact with a cashier. This, in turn, allows McDonald’s to put more staff into the area where meals are prepared in the hope of increasing the throughput of orders. The terminal is required to present the available menu to customers, allow them to place an order, customise their order. The terminal should then allow the customers to finalise and pay for their order. It should finally print a receipt for the customers to take to the counter when collecting their meal. Exercise 03 In this application, customers signup for an account and receive a confirmation on the email with the log-in credentials. The customer then log-in by using the same credentials and then select the option to Dine in or Online Order - further categorized into Self Pickup or Delivery. After choosing the appropriate mode, the customer selects the food and confirms the order. Users can choose the option to skip ordering before proceeding with the payment. And if the payment mode has been selected, the user can further determine a reliable payment option to complete the order. In the case of Delivery, the user must not be given option to visit the restaurant to make the payment. For the food delivery option, the customer must get an order confirmation after the payment, and the chef must receive the list of items to be prepared. Once the chef confirms the preparation of the order, the delivery person must accept the order to be delivered. The same notification must be provided to the customer that the food has been prepared and out for Delivery. Once the Delivery person delivers the food, the user and restaurant manager must receive a confirmation for the successful completion of an order. Questions …? Use Case Description - Simple Name of use case: unique name Participating actors: actors interacting with use case Entry conditions: conditions satisfied before use case initiated Flow of events: numbered sequence of interactions Exit conditions: conditions satisfied after use case complete Quality requirements: certain nonfunctional requirements, e.g., performance requirements Use Case Description - Extended Use Case Identify the Stakeholders Who benefits? Who interacts? Define the Goal What is the result or primary function that the use case seeks to accomplish? Outline the Scope Define the system or component the use case pertains to, establishing the boundaries of the scenario. Determine the Actors Primary Actor: The main entity (usually a user) that initiates the interaction with the system to achieve a goal. Secondary Actors: Other entities (users or systems) that interact with the system during the use case. Precondition Specify the conditions that must be true or the state the system must be in before the use case can start. Cont’d Basic Flow (Main Success Scenario) Step-by-Step Actions: Detail each step the actor takes and how the system responds during a successful interaction. Keep it clear and concise, focusing on interactions that contribute directly to achieving the goal. Alternate Flows and Extensions Alternate Flows: Describe variations in the interaction that might occur, leading to different outcomes. Extensions: Detail additional actions or steps that can extend the basic flow, often triggered by specific conditions or choices. Postcondition Define the state of the system at the conclusion of the use case, especially in terms of achieving the goal. Cont’d Exceptions Identify any errors or exceptions that could arise during the interaction and describe how the system should handle them. Special Requirements Note any non-functional requirements or special constraints, like performance criteria, security needs, or regulatory compliance. Diagrams (Optional) Use case diagrams can help visualize the relationships between actors and use cases, providing a high-level overview. Review and Validate Review the use case for clarity, completeness, and feasibility. Validate the use case with stakeholders, including potential users and technical team members, to ensure it meets their needs and expectations. Use case for a feature in a library management system where users can renew books online. Exercise 04 Altered State University (ASU) Registration System Professors indicate which courses they will teach on-line. A course catalog can be printed Allow students to select on-line four courses for upcoming semester. No course may have more than 10 students or less than 3 students. When the registration is completed, the system sends information to the billing system. Professors can obtain course rosters on-line. Students can add or drop classes on-line. Exersie 05 Consider a system for administering the lending of books at a university library. A person must be a member of the university’s community and must be in good standing – that is, not have any outstanding fines or overdue books – to borrow books. A book may be borrowed for up to two weeks at a time. A book loan may be renewed if the book is returned before the loan’s due date and if no other library member has expressed an interest in borrowing the book. If a book is returned after the loan’s due date, the borrower will be a charged a fine of $1 for each late day. Fines are paid to the library staff at the circulation desk, where books are returned. Heavily-used books may be put on reserve, meaning that members can read them only in the library and cannot borrow them. Exercise 06 A user can request a quiz for the system. The system picks a set of questions from its database, and compose them together to make a quiz. It rates the user’s answers and gives hints if the user requests it. In addition to users, we also have tutors who provide questions and hints. And also examinators who must certify questions to make sure they are not too trivial, and that they are sensical. Make a use case diagram to model this system. Work out some of your use cases.

Use Quizgecko on...
Browser
Browser