140 likes | 361 Views
Requirements. Prototype. Design. Construction. Testing. Delivery and Installation. Software Waterfall Life Cycle. Concept Exploration. Operations and Maintenance. V-Model. Spiral Model. Agile Methods. Life Cycle Heuristics. If the requirements are well-defined
E N D
Requirements Prototype Design Construction Testing Delivery and Installation Software Waterfall Life Cycle Concept Exploration Operations and Maintenance
Life Cycle Heuristics • If the requirements are well-defined • use the waterfall model (with prototyping) • If the requirements are very complex and tightly coupled • use a spiral model • If the requirements are uncertain and the project is not large • use an agilemethod, gathering and implementing requirements in increments
Prioritization of Requirements • Essential • Must be satisfied in next release • Desirable • need to be prioritized in light of time • Optional • Can be set aside unless you finish early • In CS 480-481 projects, propose three systems • Minimally acceptable by the faculty adviser • Expected by the team, faculty adviser, and client • Desirable by the client (doable if everything falls into place)
Requirements Elicitation • Requirement Sources • High level goals or vision of the software • Domain knowledge • Stakeholders • Operational requirements • Organizational environment • Elicitation Techniques • Interviews, Scenarios (Use Cases), Prototypes, Facilitated Meetings, Observation
Managing Changes in Requirements • Change control process (QA) • Traceability • How does one change affect others? • Version control • How are changes communicated to the team? • How are changes documented? • Status tracking • Pending, approved, rejected, deferred, completed, cancelled
Use Cases Used to capture functional requirements and describe the interactions between various actors and the system • Actors are roles (not individuals) that have a goal for using the system • Actors can be other systems or organizations • Use Cases focus on achieving a user goal • Use cases may have relationships (associations) with each other
Use Case Scenarios • Not UML, no standard format • A written description of the steps involved in an interaction between an actor and the system, always beginning with the primary actor
Written Use Case Scenarios • Use Case Name (use verb-noun) • Participating Actors • Normal Flow of Events (happy path) • Exceptions (error conditions) • Extensions (optional goals) • Entry (pre) Conditions • Exit (post) Conditions • Quality Requirements