|
|
|
Software Requirements Engineering is a 3-day course designed to provide a comprehensive knowledge base and practical skills for anyone interested in implementing or improving Software Requirements Development and Management techniques and practices in their organization. This course starts with an overview of software requirements basics including definitions of terminology, a discussion of the importance of software requirements, an overview of software standards and models related to requirements and an introduction to the requirements engineering process. Course attendees will learn how to define the vision and scope of a software product, and how to identify the product’s stakeholders. They will learn and practice utilizing various techniques for eliciting software requirements. Various models for analyzing requirements will be illustrated and applied to the course's case study. The course will also discuss translating higher-level business and user requirements into software product requirements. This course includes an overview of the contents of various documents to specify requirements including a concept of operations document, software requirements specification and a data dictionary. The requirements validation discussion in this course emphasizes peer reviews and test planning. Course attendees will learn to establish requirements baselines, perform requirements traceability, and manage requirements change. This course also includes an overview of requirements related metrics. Method of Instruction: This course is taught through lecture and interactive discussion. Actual examples from the software industry are utilized to make the information relevant. Throughout this course, learned skills are practiced using team exercises and case studies. For in-house courses, these exercises and case studies can be tailored to include actual examples from your organization in order to make the training even more relevant to your environment. The emphasis of this course is on techniques that allow the attendees to transition the skills learned in this course to their own work environments. Target Audience: Business analysts, system and software requirements analysts, project managers, functional managers, software developers, testers, software quality engineers and other software stakeholders who will be involved in eliciting, analyzing, specifying, validating and/or managing requirements. Course Objectives: Upon successful completion of this course attendees will be able to:
Course Materials: Student notebooks are designed to provide reference materials that can be utilized by the attendees long after the completion of the course. These materials include:
Detailed Outlines:I: Software Requirements – The Basics1. What, Why, When and Who of Requirementsa. What are Requirements· Requirements Defined · Levels of Requirements Information b. Why are Requirements Important· Why are Requirements Important?· Issue: Project Failure· Issue: Incomplete Requirements· Issue: Lack of User Involvement· Issue: Requirements Defects· Issue: Requirements Churn· Issue: Wasted Resources· Issue: Gold Plating· Issue: Inaccurate Estimates· Benefits of Good Requirementsc. When - Requirements & the Life Cycle· When – Requirements & the Life Cycle· Requirements Engineering is Iteratived. Who – Requirements Stakeholderse. “How To” of Requirements Engineering2. Standards & Models Related to Requirementsa. SEI CMM® & CMMISM· SEI CMM® & CMMISM· Requirements Management Process Area· Requirements Development Process Area· Generic Practicesb. IEEE Software Engineering Standardsc. ISO 9001:2000 on Requirements3. Requirements Engineering Processa. Requirements Engineering Processb. Incremental Requirements Developmentc. Requirements Engineering ContextII: Requirements Elicitation1. Business Level Requirementsa. Purpose of Business Level Requirementsb. The Idea!c. Vision Statementd. Vision Statement – Examplee. Vision Statement – Exercisef. Defining Business Objectivesg. Business Objectives – Examplesh. Characteristics of “Good” Business Objectivesi. Product Scope & Limitationsj. Product Context Diagramk. Product Context Diagram – Exercise2. Stakeholdersa. Stakeholder Definedb. Benefits of Identifying Stakeholdersc. Step 1: Identifying Stakeholdersd. User Typese. Step 2: Prune the Stakeholder Listf. Step 3: Participation Strategyg. Identify Stakeholders – Exerciseh. Stakeholder Conflict Managementi. Decision Criteria Alternativesj. Customer’s Bill of Rightsk. Customer’s Bill of Responsibilities3. Requirements Elicitation Techniquesa. Direct-Two-Way Communicationsb. Before the Interviewc. Open-Ended Questionsd. Context-Free Questionse. During the Interviewf. Listening Activelyg. Interviewing Tipsh. After the Interviewi. Focus Groupsj. Focus Group Meetingk. Focus Group - Exercisel. Facilitated Requirements Workshopm. Benefits of Facilitated Requirements Workshopsn. Facilitator Do’s & Don’tso. Documentation Studiesp. Other Requirements Elicitation TechniquesIII: Requirements Analysis1. Requirements Modelinga. Requirements Modeling· Benefits of Models· Types of Modelsb. Object Oriented Models· Use Cases· Step 1-3: Use Case Diagram· Step 4: Develop a Use Case for Each Interaction· Use Case Steps· Use Case Exercise· Other Use Case Information· Class Diagram· Sequence Diagram· Sequence Diagram – Exercise· Activity Networkc. Structured Analysis Models· Data Flow Diagram· Entity Relationship Diagram· State Transition Diagram· State Transition Tabled. Other Models· Process Flow Diagram· Decision Tree· Event/Response Table· Event/Response Table – Exercise2. Identifying Product Requirementsa. Levels of Requirements Informationb. Use Case -> Functional Requirementsc. Use Case -> Functional Requirements – Exampled. Data Requirementse. Data Requirements – CURDLf. Use Case -> Nonfunctional Requirementsg. Quality Attributesh. Usability Requirements – Examplesi. Measurable Nonfunctional Requirementsj. Use Case Diagram -> External Interface Requirementsk. Product Requirements – Exercisel. Class Diagrams -> Product Requirementsm. Data Flow Diagrams -> Product Requirements3. Prototypinga. Prototypeb. Prototyping Suggestions4. Prioritizing Requirementsa. Benefits of Prioritizing Requirementsb. Prioritization Considerationsc. Prioritization - 1st Passd. Prioritization - 2nd PassIV: Requirements Specification1. Concept of Operationsa. Documenting User Level Requirementsb. Concept of Operations Document2. Software Requirements Specificationa. System Requirementsb. System vs. Software Requirementsc. Software Requirements Specificationd. Writing "Good" Requirements3. Data Dictionarya. Data Dictionaryb. Data Dictionary Notationc. Data Dictionary – ExampleV: Requirements Validation1. Requirements Reviewa. Reviews Definedb. Cost of Reworkc. Hold Many Peer Reviewsd. Inspection Processe. Inspection Meetingf. Who Should Inspect Requirementsg. Requirements Completenessh. Requirements Checklisti. Requirements Checklist - Each Requirementj. Ambiguityk. Peer Review – Exercise2. Requirements Test Planninga. Testabilityb. Writing Test Casesc. Test Matrix – ExampleVI: Requirements Management1. Establishing & Maintaining Baselinesa. Baseline Definedb. Types of Baselinesc. Requirements Specification Acquisitiond. Sign-Off2. Traceabilitya. Traceability Definedb. Bi-Directional Traceabilityc. Benefits of Requirements Traceabilityd. Traceability Matrixe. Traceability Tagging3. Requirements Change Managementa. Configuration Control Proceduresb. Configuration Control Processc. Approval Authority Processd. Impact Analysis4. Requirements Metricsa. Goal/Question/Metricb. Requirements Sizec. Requirements Churnd. Defect Per Requirementse. Requirements Defect Backlogf. Traceabilityg. Requirements StatusCustomized Software Requirements Engineering Courses: Customized Courses: Our Software Requirements Engineering course is modularized so that it can be easily customized for in-house course offerings that focus on the specific content and topics needed to meet your organization’s exact training requirements. The Westfall Team can also customize this course or any of our other standard courses or develop unique software engineering, quality and project management courses to meet your exact in-house training needs and specifications. For example, class exercises can be tailored to include actual examples from your organization in order to make the training more relevant to your environment. For more information about this course or other courses offered by The Westfall Team Send an email to: lwestfall@westfallteam.com Or call: 972-867-1172
|