1 CMPT 275 Software Engineering Requirements Analysis Phase Overview of Requirements Analysis Activity System Context Diagrams
Janice Regan, Requirements Gathering/Specification Client/User Software Developer Project Description Informal Scenarios Questions Requirements Specification Document Client meeting 8 Client requirements review meeting
Janice Regan, Project: Requirements Analysis Requirements gathering and specification will allow you to build an ‘analysis model’. This model represents the user’s/client’s view of the system You will end up with a list of functional requirements. Each requirement will represent one function/activity This is your ‘analysis model’ Functional requirements are not dependent on specific methods of implementation
Janice Regan, Project: Requirements Analysis Y our list of functional requirements will Describe the required interactions between the system and its environment (independent of implementation) You will also need a list of non-functional requirements QUALITY REQUIREMENTS: Usability, reliability, performance, maintainability CONSTRAINTS or PSEUDO REQUIREMENTS: Implementation (tools, languages), interface (to external systems), operation (admin, management), packaging, Legal
Janice Regan, Project: Requirements Analysis You requirements must be Complete: all required features must be described Consistent: no two requirements in the specification may contradict each other Unambiguous: no requirement can be interpreted in two different and contradictory ways Correct: Only features desired by the client / developer are included not unintended extra features (problems)
Janice Regan, Class Project: Requirements Analysis Next you will proceed using use case centered development (UCCD) to your requirements model System Context Diagram Identifying Actors and developing Use Cases Primary classes Use cases and Scenarios (formal and informal) Use case Diagram Class (object) Diagram State Diagrams
Janice Regan, Requirements Analysis Activity Software Developer Client/User Update SRS Questions Use Case Centered Development (UCCD) System Context Diagram Use Cases Primary Classes Use Case Diagram State Diagram Class Diagram Scenarios
Janice Regan, Roles Participants are people associated with the project (software system) Client, developer, manager, end user A set of related tasks that are assigned to a participant is a role A student (role) is assigned a group of related tasks: registers in classes, receives grades A teacher (role) is assigned a group of related tasks: gives classes, marks student work, gives grades
Janice Regan, Actor Entity outside the software system interacts with the system Operates on objects in the system but cannot be operated upon by objects in the system. Human, hardware device, another software system Represents coherent role played by users e.g.: In an automated registration system teacher, student, registrations data base
Janice Regan, Actor A user of software system may take on more than 1 role, usually at different times e.g.: Eva interacts with the system not only as a student actor but also as a teacher actor Eva teaches math, but is a student of French An actor may represent more than one user e.g.: Both Eva and John may take the role of a student
Janice Regan, Primary and Secondary Actors Primary Actors Actors who initiate a scenario (use case) causing the system to achieve a goal automated registration system example the student or teacher is a primary actor Secondary Actors Actors supporting the system so primary users goals can be completed (do not initiate the use case or scenario) automated registration system example the registration data base is a secondary actor
Janice Regan, Primary and Secondary Actors It is possible for an Actor to be a primary (initiating) actor in one scenario and a (non-initiating) or secondary actor in another scenario in the same system For example in the automated registration system example When Eva registers in a French class she is the primary actor (student) and the registration data base is the secondary actor. Periodically the registration data base (primary actor) uses the registration data base to print notifications of registration to be sent to students.
Janice Regan, System Context Diagram: LMS Librarian Patron Resources (Books, CDs..) Software System Being created Web Libraries Student Information Repository (DB) Employee Information Repository (DB) Online Journals Show how the software system interacts with its environment Resource Information Repository (DB)
Janice Regan, System Context Diagram: LMS Librarian Patron Resources (Books, CDs..) Software System Being created Web Online Journals Show how the software system interacts with its environment DB components are custom components developed specifically for this application and are thus part of this application