Software Requirements Engineering (SENG109)

Summary

These are lecture notes on software requirements engineering. Topics include UML diagrams, class diagrams, context diagrams, and data flow diagrams. The document also describes requirements elicitation, analysis, validation, and management, as well as different diagrams and techniques involved in process models.

Full Transcript

Software Requirements Engineering (SENG109) Assos. Prof. Dr. Yenal ARSLAN @yenalarslan1 https://www.linkedin.com/in/yenalarslan [email protected] Requirement Engineering and UML Diagrams Requirement Engineering and UML Diagrams Key Feat...

Software Requirements Engineering (SENG109) Assos. Prof. Dr. Yenal ARSLAN @yenalarslan1 https://www.linkedin.com/in/yenalarslan [email protected] Requirement Engineering and UML Diagrams Requirement Engineering and UML Diagrams Key Features of UML: Standardization: UML is a standardized language maintained by the Object Management Group (OMG), which ensures consistency in modeling across different software projects. Visual Representation: It uses various types of diagrams to represent different aspects of a system, such as its structure, behavior, and interactions. Flexibility: UML can be applied to various programming languages, development processes, and methodologies, making it widely adaptable. Requirement Engineering and UML Diagrams UML has two main categories of diagrams: Structural Diagrams: Show the static aspects of the system. Class Diagrams: Depict the structure of the system by showing classes, attributes, and relationships. Object Diagrams: Show instances of classes and their relationships. Component Diagrams: Illustrate the organization and dependencies among components. Deployment Diagrams: Represent the physical architecture of the hardware and software. Behavioral Diagrams: Focus on the dynamic aspects and interactions. Use Case Diagrams: Describe the interactions between actors and the system. Sequence Diagrams: Show how objects interact in a time sequence. Activity Diagrams: Represent the workflow or processes. State Diagrams: Describe the state changes in response to events. Requirement Engineering and Class Diagrams Represented as rectangles, classes are divided into three compartments: Name (top compartment): The unique identifier of the class Attributes (middle compartment): The properties or data associated with the class Operations (bottom compartment): The actions or methods that can be performed by objects of the class Requirement Engineering and Class Diagrams Class diagram is a template for creating objects and implementing behavior in a system. In UML, a class represents an object or a set of objects that share a common structure and behavior. Requirement Engineering and Class Diagrams Requirements engineering 1. Requirements elicitation; What services do the end-users require of the system? 2. Requirements analysis; How do we classify, prioritise and negotiate requirements? 3. Requirements validation; Does the proposed system do what the users require? 4. Requirements management; How do we manage the (sometimes inevitable) changes to the requirements document? Requirement Analysis Requirement Analysis What Is Requirements Analysis? Analysis involves discovering and connecting the big picture, the details, and the value for users and their goals, data, rules and decisions, and gaps. Analysis helps us ensure complete and high quality requirements by helping stakeholders see and understand the same tree. What Is Requirements Analysis? There are many ways to analyze. It involves a combination of thinking, dialogue, modeling, diagramming, and organizing information in various views to help us think about and look at the product, process, or system from various perspectives. Analysis techniques can also vary by level of formality. From elaborate techniques with a variety of interactive steps, to informal conversations. What Is Requirements Analysis? You need some techniques like that work best to engage stakeholders and customers effectively, get that powerful dialogue, and shared understanding on the table. Process Modelling? Process modeling is about creating a visual to explain a process or sequence of activities. Process models need to be simple. Stakeholders and the team need to be able to read and understand the models intuitively, without a tutorial. The dialogue when looking at a model should be about the process, not about how to read the diagram. Process Modelling? Name the process and its activities in a verb plus noun format. Avoid using ambiguous words like manage, process, handle, and coordinate. Using simple process models with details provided as supplements to each step helps teams collaborate more effectively. Process Modelling? Project: Hotel Reservation System System Guest Guest processes Confirmation searches for Guest selects provides the is sent to the available a room. personal reservation guest. rooms. information. request. Process Modelling? Project: Car Reservation System we often use flow diagrams in process modelling The Car Rental Reservation System flowchart outlines the steps involved in developing and launching a system that allows customers to reserve rental cars online. The process begins with defining the requirements for the system and conducting market research to identify the needs of the business and its customers. Process Modelling? Gant Chart Named after American mechanical engineer and management consultant Henry Gantt, these charts have been actively used for more than a century as a way to visualize process flows. Gantt charts use a bar style that illustrates a project schedule, including the duration of tasks, any dependencies, key milestones and areas of task interdependence. They're most often used in situations with specific deadlines or time-sensitive processes. Process Modelling? Process Modelling? BPMN The Business Process Modeling Notation (BPMN) is visual modeling language for business analysis applications and specifying enterprise process workflows, which is an open standard notation for graphical flowcharts that is used to define business process workflows. It is popular and intuitive graphic that can be easily understand by all business stakeholders, including business users, business analysts, software developers, and data architects. The latest version is BPMN 2.0.2. Process Modelling Tools? Draw.io Ms Visio Lucidchart Monday CMW Platform Appian Nintex Context Diagrams? A context diagram helps teams identify scenarios, users, user goals, and external systems. They show the solutions big picture by providing a view of a system or product in its environment including the people and systems it interacts with Context Diagrams? Context Diagrams? User Stories and Story Mapping? User stories are placeholders for future conversations and the story map shows the map of how the user stories relate to one another. A user's story has three pieces: the who, the what, and the why. Or the role, the goal, and the benefit. User Stories and Story Mapping? User Stories and Story Mapping? For instance online coffee store case. User Story: «As an online shopper, I want to provide a credit care on file so that I do not need to reenter my credit card information each time I make a purchase.» In this user story, the who or role is the online shopper. The what or goal is provide a credit card on file. And the why or benefit is so that I don't have to reenter information User Stories and Story Mapping? This story needs more details that come out in conversation and that conversation needs to be captured. We use acceptance criteria to show the details of what success looks like in this story from a user point of view. Acceptance criteria for this user story is how the online shopper would describe this story as working. For example, some acceptance criteria would look like this; «When I enter a credit card number that does not match the type, I should be notified and be able to reenter to correct the issue.» «I also should be able to simply select the expiration date on a visual calendar, rather than type in a date» User Stories and Story Mapping? « I want to select the type of credit card I am using so that I can make sure my entry is accurate for the card type.» «As an online shopper, I want to enter the credit card number so that I can have it saved for future use.» «As an online shopper, I want to enter my expiration date so I can get my credit card validated as a form of payment.» User Stories and Story Mapping? User Stories and Story Mapping? A User Story is a simple, concise description of a software feature written from the perspective of the end-user. It focuses on what the user needs and why, rather than how the functionality will be implemented. Story Mapping is a technique used to organize and prioritize User Stories in the context of the user journey. It provides a visual representation of the steps a user takes to achieve a goal and how different stories fit together to deliver value. An Epic is a large, high-level User Story that cannot be completed in a single development iteration and needs to be broken down into smaller, manageable User Stories. A Theme is a collection of related User Stories or Epics that share a common objective or relate to a specific area of functionality. It is a higher-level categorization used to organize requirements. User Stories are the smallest unit of work, describing specific tasks or requirements from the user's perspective. Epics are collections of related User Stories that describe a larger feature or piece of functionality. Themes are even broader groupings that encompass multiple Epics and User Stories related to a common goal or area of focus. Story Mapping ties it all together by arranging User Stories and Epics in the context of the user’s journey, making it easier to prioritize and plan releases. User Stories and Story Mapping? User Stories and Story Mapping? User Stories and Story Mapping? Decision Tables? Decision tables are a great way to organize and display decision logic. To build a decision table, we start with defining the results or the decision to be made in the last column. A Decision Table is a tabular representation of conditions (input factors) and the resulting actions (outputs). Each row in the table corresponds to a particular combination of conditions and specifies the resulting action(s) to be taken. Conditions: These are the criteria or variables that affect the decision (listed in separate rows or columns).Actions: These are the possible responses or operations to be performed based on the conditions. Rules: Each rule corresponds to a unique combination of condition states and the resulting action(s). Decision Tables? This Decision Table illustrates that the discount depends on the customer's membership status and the order amount. Each row represents a rule defining the discount to apply based on the conditions. Data Flow Diagrams? A data flow diagram provides a great visual of the processes and the data that flows through them. It provides a big picture for the team to discuss and understand their data needs. Data flow analysis is a critical tool for generating high quality requirements. Without data flow analysis, customer satisfaction drops and defects rise Data Flow Diagrams? Data Flow Diagrams? What is Data Dictionary? Data Flow Diagrams? Data Flow Diagrams? Data Flow Diagrams? The other UML diagrams And the other UML Diagrams Challenge Write your own Project (upload before the Final Exam) Data Dictionary Story Map Gantt Chart Midterm Exam Question? Select a project topic and show the requirements analysis by using process modelling, context diagrams, user stories and story mapping, decision tables, data flow diagrams, state and sequence diagrams techniques?

Use Quizgecko on...
Browser
Browser