160 likes | 345 Views
CMPT 275 Software Engineering. Requirements Analysis Phase Overview of Requirements Analysis Activity System Context Diagrams. Requirements Gathering/Specification. 6. 1. Project Description. 2. Software Developer. Client/User. 5. Informal Scenarios. 3. 7. Questions. 4. 8. 4.
E N D
CMPT 275Software Engineering Requirements Analysis Phase Overview of Requirements Analysis Activity System Context Diagrams
Requirements Gathering/Specification 6 1 Project Description 2 Software Developer Client/User 5 Informal Scenarios 3 7 Questions 4 8 4 8 Requirements Specification Document 3 7 4 Client meeting Client requirements review meeting 8
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
Project: Requirements Analysis • Your 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
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)
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
Requirements Analysis Activity Software Developer Client/User Update SRS Use Case Centered Development (UCCD) Questions Use Case Diagram Use Cases System Context Diagram Class Diagram Primary Classes Scenarios State Diagram
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
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
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
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
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.
System Context Diagram: LMS Show how the software system interacts with its environment Librarian Resources (Books, CDs ..) Patron Software System Being created Employee Information Repository (DB) Web Libraries Resource Information Repository (DB) Online Journals Student Information Repository (DB)
System Context Diagram: LMS Show how the software system interacts with its environment Librarian Resources (Books, CDs ..) Patron Software System Being created Web DB components are custom components developed specifically for this application and are thus part of this application Online Journals