Lec 5.pdf
Document Details
Uploaded by Deleted User
Full Transcript
CSEN406 SOFTWARE ENGINEERING REQUIREMENT ENGINEERING INTRODUCTION What is RE? Cost of bad Req. Importance of RE RE Types Software Req. Activities Dr. JOHN ZAKI 2 WHAT IS RE? Dr. JOHN ZAKI 3 DODGE DART PORSCHE CAYENNE...
CSEN406 SOFTWARE ENGINEERING REQUIREMENT ENGINEERING INTRODUCTION What is RE? Cost of bad Req. Importance of RE RE Types Software Req. Activities Dr. JOHN ZAKI 2 WHAT IS RE? Dr. JOHN ZAKI 3 DODGE DART PORSCHE CAYENNE Dr. JOHN ZAKI 4 ▪ 2.5 MIN time limit ▪ Had no sound ▪ Could not play it on regular TV THE POLAROID PROJECT Dr. JOHN ZAKI 5 ▪ Fly in formation ▪ Target Error ▪ Seeing Double ▪ Software Error !! F-35 TARGET ERROR Dr. JOHN ZAKI 6 ▪ Pump Overdose when not needed ▪ Pump delay infusion ▪ Software error ! ! …. ▪ DEADLY …. CareFusion Alaris Pump Recall Dr. JOHN ZAKI 7 ▪ Electronic health records, digital scanning, and integrated IT systems across hospitals and community care. ▪ Scope creep ▪ 11.4 billion GBP NHS Civilian IT Dr. JOHN ZAKI 8 https://project-management.com/wp-content/uploads/2021/03/top- https://www.statista.com/statistics/627648/worldwide-software- 10-causes-of-project-failure-520x377.png developer-survey-project-failure/ Dr. JOHN ZAKI 9 What is RE? Dr. JOHN ZAKI 10 What the system should do What the system should REQUIREMENTS not do CONSTRAINTS Dr. JOHN ZAKI 11 Anything that drives A property that a product must design choices have to provide value to a stakeholder They include both the behavior of the Requirements encompass both the system under specifc conditions user’s view of the external system and those properties that make it behavior & the developer’s view of suitable & enjoyable for use some internal characteristics. Dr. JOHN ZAKI 12 Requirements are specifications of what should be implemented. They are descriptions of how the system should behave. A system property or attribute. The activity of A constraint on the development elicitation, analysis process of the system. specification, & management of the stakeholder requirements, which should be met by a new or evolving system Dr. JOHN ZAKI 13 What is the importance of RE? Dr. JOHN ZAKI 14 TYPES OF REQUIREMENTS Dr. JOHN ZAKI 15 FUNCTIONAL REQUIREMENTS (FR) USER REQUIREMENTS NON FUNCTIONAL REQUIREMENTS (NFR) SYSTEM REQUIREMENTS Functional “user FUNCTIONAL requirements” can be REQUIREMENTS high-level statements of what the system or actors can do. Explained in natural language & Functional “detailed diagrams. It represents the system, its functions, & requirements” are more constraints. detailed descriptions of what the system should do”. Its functions, services, and operational constraints. Dr. JOHN ZAKI 17 USERS Software Engineering book (Ian Sommerville) : Ch.4, P.84 Dr. JOHN ZAKI 18 System related NOT feature related. describe the constraints Ex. Include security, reliability, usability, performance, …etc NON- Note that: an NFR could lead to FUNCTIONAL the development of an FR. REQUIREMENTS In reality, FR & NFR requirements are not clear cut. Dr. JOHN ZAKI 19 NON- FUNCTIONAL REQUIREMENTS Dr. JOHN ZAKI 20 Recoverability Security Performance Product Maintainability Usability NFR Reliability Availability Scalability Dr. JOHN ZAKI 21 Recall, the patient management system ….. PRODUCT REQUIREMENT The system shall be available to all clinics during normal working hours (Mon–Fri, 08.30–17.30). Downtime within normal working hours shall not exceed five seconds in any one day. ORGANIZATIONAL REQUIREMENT Users of the system shall authenticate themselves using their health authority identity card. EXTERNAL REQUIREMENT The system shall implement patient privacy provisions as set by law. Dr. JOHN ZAKI 22 NFR is more critical than FR, Why? Dr. JOHN ZAKI 23 RE ACTIVITES Dr. JOHN ZAKI 24 INCEPTION This is the first phase of the requirements engineering process. Understand the business, the market, develop the business case & feasibility study Effective communication is very important in this stage Talk to different stakeholders, managers, marketing, end users, se, sd …etc Understand nature of the solution Develop a preliminary solution How? Brainstorming, joint application development meeting… Dr. JOHN ZAKI 25 RE ACTIVITES Dr. JOHN ZAKI 26 ELICITATION This is the 2nd phase of the requirements engineering process. Define the scope, identify user req., define constraints, hold elicitation interviews, observe users in their jobs.. Some problems Volatility, ill defined or too detailed req., no understanding between developers & customer. Collect from different sources Stakeholders, documentation, existing systems, domain experts How? Brainstorming, interviews, observation, use cases, scienarios, prototyping… Dr. JOHN ZAKI 27 RE ACTIVITES Dr. JOHN ZAKI 28 ELABORATION This is the 3rd phase of the requirements engineering process. Refine what was done in the previous 2 phases, expanding and looking deeper, … Indulge in modeling activities Prototyping, analysis models Dr. JOHN ZAKI 29 RE ACTIVITES Dr. JOHN ZAKI 30 NEGOTIATION This is the 4th phase of the requirements engineering process. Negotiate needs & wants, what to eliminate, prioritize the req., risk factored in Discussions around Availability of resources, delivery time, cost, scope of requirements & remove conflicts. Dr. JOHN ZAKI 31 RE ACTIVITES Dr. JOHN ZAKI 32 SPECIFICATIONS This is the 5th phase of the requirements analysis process. Written specifications (SRS), set of models, use cases, prototype, UML, UI/UX Document functions, features, or constraints. Talk to different stakeholders, managers, marketing, end users, se, sd …etc Submit the document to the customer Written in a language that he/she understands. How? UML, ERD, Figma, Invision,…etc Dr. JOHN ZAKI 33 RE ACTIVITES Dr. JOHN ZAKI 34 VERIFICATION AND VALIDATION This is the 6th phase of the requirements engineering process. Technical review, missing information, checking errors, built according to standards, How? Simple sanity check, test-case generation, inspection, requirement review, coded prototypes, design prototypes Verification: built the product right…. Validation: built the right product… Dr. JOHN ZAKI 35 REQUIREMENT MANAGEMENT This is the last phase of the requirements engineering process. Identify, control, and track the req. for successful and smooth implementation. Requirements change over time Dr. JOHN ZAKI 36 SUMMARY 01 What is RE, its importance? 02 Req. Types (FR, NFR) 03 RE activities Dr. JOHN ZAKI 37 THANK YOU Dr. JOHN ZAKI 38