Download presentation
Presentation is loading. Please wait.
Published byAbigail Foster Modified over 9 years ago
1
Requirements Engineering Introduction to the Class and Course CSE 305 Dr. Naveed Ahmad
2
Software Requirements Engineering2 Qualification: PhD (2007-2010) The University of Cambridge, UK Experience: More than 10 years Research Groups Software Engineering Research Labs (SERL at CIIT, Islamabad) Comsats Mobile Application Development Lab ( CMAD Lab at CIIT Islamabad)
3
Research Area Software Requirements Engineering3 Research Area Process Engineering, Change Management Publications ‘Change impact on a product and its redesign process: a tool for knowledge capture and reuse’, N Ahmad, DC Wynn, PJ Clarkson, Research in Engineering Design 24 (3), 219-244 ‘Pak Agri Cloud: Cloud Based Crop Management System for Pakistan’, S. Tanvir, N. Ahmad, S. Asif, H. Ahmed, Journal of Animal and Plant Sciences, Forthcoming ‘Cloud Computing and Internet as an Emerging Technology for Livestock Management in Changing Climate’, S. Tanvir, N. Ahmad, S. Asif, H. Ahmed, Journal of Animal and Plant Sciences, Forthcoming ‘Digital Research Labs Change Packaging in Systems Design’ Design Structure Matrix Methods and Applications Cambridge, MA: MIT Press, forthcoming in 2012. ‘When should design changes be allowed to accumulate?’ Proceedings of IDMME – Virtual Concept 2010 (also published in book titled as Research in Interactive Design), Bordeaux, France, October 2010.
4
Software Requirements Engineering4 'Information models used to manage engineering change: A review of the literature 2005-2010' International Conference on Engineering Design– ICED 2011, Denmark, August 2011. 'An evolution of information while building cross-domain models of a design: A video experiment' International Conference on Engineering Design – ICED 2011, Denmark, August 2011. 'The Impact of Packaging Interdependent Change Requests on Project Lead Time ' Proceedings of the 12th International Design Structure Matrix Conference (DSM'10), Cambridge, UK. (Awarded best paper) 'Development and Evaluation of a Tool to Estimate the Impact of Design Change' International Design Conference – Design 2010, Dubrovnik, Croatia, May 2010. ‘An MDM-Based Approach to Manage Engineering Change Processes Across Domains of The Design Process' Proceedings of the 11th International Design Structure Matrix Conference (DSM'09), Greenville, South Carolina, USA. 'Estimating the Process Cost of Implementing Engineering Change Alternatives' Proceedings of the 2nd Nordic Conference on Product Lifecycle Management (NordPLM '09), Göteborg, Sweden, 28-29 January 2009
5
Course Objectives? Fundamentals of software requirements engineering, Role of requirements engineering in software lifecycle, Requirements engineering process, Requirements elicitation process and techniques, Requirements analysis and negotiation, Functional and non-functional requirements, Requirements engineering methods, Requirements validation, Requirement management and Requirement engineering for agile development. Software Requirements Engineering5
6
Course Learning Outcomes C1-Understand key elements and models of requirements engineering process. C2-Understand and analyze common methods for requirements elicitation and select appropriate method(s) to produce a set of software requirements for a medium-sized software system. C3-Understand the key components of a use case and produce possible use case to analyze system behavior and requirements C4-Identify both functional and non-functional requirements in a given requirements specification for a software system. C5-Use a Standard method to develop Software Requirement Specification (SRS) document for a medium-size software system. C6-Conduct a review of a set of software requirements to determine the quality of the requirements with respect to the characteristics of good requirements. Software Requirements Engineering6
7
Course Outline Software Requirements Engineering7 UnitTopic No of teaching hours 1. Introduction to software requirements engineering: What are requirements, what is requirements engineering, what is requirements engineering process, what is requirements document, what are stakeholders, what is requirements management, what is systems engineering(G.Kotonya: Ch.1) 4.5 2. Requirements engineering process activities:Inception, elicitation, elaboration, negotiation, specification, validation, requirement management (Pressman: Ch.10 ) 3.0 3. Requirements elicitation: Elicitation and analysis process, elicitation barriers, role of stakeholder in requirements elicitation process, elicitation techniques, prototyping, requirements analysis and negotiation.(G.Kotonya: Ch.3,S.Lauesen:Ch 8 ) 6.0 4 Writing functional requirements: Use case modeling, deriving functional requirement, characteristic of good requirements, software requirement specification template. 6.0
8
Course Outline Cont….. Software Requirements Engineering8 UnitTopic No of teaching hours 5. Non-functional requirements: classification of non-functional requirements, deriving non-functional requirements, requirements for critical systems, requirements engineering for safety critical systems (G.Kotonya: Ch.8,S.Lauesen:Ch 6 ) 6.0 6. Requirements Management: Stable and volatile requirements, requirements identification and storage, change management, traceability (G.Kotonya: Ch.5,S.Lauesen:Ch 9 ) 6.0 7. Methods for requirements engineering: Data-flow modeling, semantic data models, object-oriented approaches, Formal methods (G.Kotonya: Ch.6) 7.5 8. Requirements validation: requirements reviews, prototyping, model validation, requirements testing (G.Kotonya: Ch.4) 6.0 9. Requirements engineering for agile methods:Traditional and agile requirement engineering, agile approaches to requirements engineering, role and responsibility of customers, developers, and managers, tools for requirements management in agile methods (A.Aurum: Ch.14) 6.0
9
Text Book(s) Gerald Kotonya, Ian Sommerville, Requirements Engineering Processes and Techniques. Soren Lauesen: Software Requirements - Styles and Techniques. Software Requirements Engineering9
10
Reference Book(s) Ian K. Bray (2002), An Introduction to Requirements Engineering, Addison Wesley. Karl E. Wiegers (2003), Software Requirements, Second Edition, Microsoft Press. Jeremy Dick, Elizabeth Hull, Ken Jackson (2004), Requirements Engineering, Springer-Verlag. Roger S Pressman(2010), Software Engineering, A Practitioner’s Approach, 7 th Edition, McGraw-Hill. Software Requirements Engineering10
11
An introduction to requirements engineering 11Software Requirements Engineering
12
System requirements Define what the system is required to do and the constraints under which it is required to operate The system shall maintain records of all library materials including books, serials, newspapers and magazines, video and audio tapes, reports, collections of transparencies, computer disks and CD-ROMs. The system shall allow users to search for an item by title, author, or by ISBN. The system’s user interface shall be implemented using a World-Wide-Web browser. The system shall support at least 20 transactions per second. The system facilities which are available to public users shall be demonstrable in 10 minutes or less. 12Software Requirements Engineering
13
Types of requirements Very general requirements which set out in broad terms what the system should do. Functional requirements which define part of the system’s functionality. Implementation requirements which state how the system must be implemented. Performance requirements which specify a minimum acceptable performance for the system. Usability requirements which specify the maximum acceptable time to demonstrate the use of the system. 13Software Requirements Engineering
14
Requirements problems The requirements don’t reflect the real needs of the customer for the system. Requirements are inconsistent and/or incomplete. It is expensive to make changes to requirements after they have been agreed. There are misunderstandings between customers, those developing the system requirements and software engineers developing or maintaining the system. 14Software Requirements Engineering
15
FAQS about requirements What are requirements? A statement of a system service or constraint Examples A user-level facility (e.g. ‘the word processor must include a spell checking and correction command’) A very general system property (e.g. ‘the system must ensure that personal information is never made available without authorization’) A specific constraint on the system (e.g. ‘the sensor must be polled 10 times per second’) how to carry out some computation (e.g. ‘the overall mark is computed by adding the student examination, project and coursework marks based on the following formula ‘total_mark = exam_mark + 2 * project_mark + 2/3 * coursework_mark’) A constraint on the development of the system (e.g ‘the system must be developed using C#’). 15Software Requirements Engineering
16
FAQs contd. Software Requirements Engineering16 What is requirements engineering? The processes involved in developing system requirements How much does requirements engineering cost? About 15% of system development costs What is a requirements engineering process? The structured set of activities involved in developing system requirements
17
FAQs contd. What happens when the requirements are wrong? Systems are late, unreliable and don’t meet customers needs Is there an ideal requirements engineering process? No - processes must be tailored to organisational needs What is a requirements document? The formal statement of the system requirements What are system stakeholders? Anyone affected in some way by the system 17Software Requirements Engineering
18
FAQs contd. What is the relationship between requirements and design? Requirements and design are interleaved. They should, ideally, be separate processes but in practice this is impossible What is requirements management? The processes involved in managing changes to requirements 18Software Requirements Engineering
19
Systems engineering There is a close relationship between software and more general system requirements Computer-based systems fall into two broad categories: User-configured systems where a purchaser puts together a system from existing software products Custom systems where a customer produces a set of requirements for hardware/software system and a contractor develops and delivers that system 19Software Requirements Engineering
20
Classes of custom systems Information systems Primarily concerned with processing information which is held in some database. Embedded systems Systems where software is used as a controller in some broader hardware system Command and control systems Essentially, a combination of information systems and embedded systems where special purpose computers provide information which is collected and stored and used to make decisions 20Software Requirements Engineering
21
Emergent properties Emergent properties are properties of the system as a whole and only emerge once all of its individual sub- systems have been integrated Examples of emergent properties Reliability Maintainability Performance Usability Security Safety 21Software Requirements Engineering
22
Summary Software Requirements Engineering22 Introduction to course Course objectives Course learning outcomes Course outline Books System Requirements Type of Requirements FAQs about requirements Computer systems Emergent properties
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.