com6030-2; Department of Computer Science; 2001 Requirements Analysis Requirements process: elicitation and specification Functional and non-functional requirements Deliverables Notations for requirements: diagrammatic, formal, static, dynamic 1 com6030-2; Department of Computer Science; 2001 Requirements process The process of capturing and defining system’s needs: behaviour, constraints, people involved Defines what a system should do (instead of how – design) without referring to a specific hardware/ software environment Contains two main stages o A. Requirements elicitation and analysis o B. Requirements definition and specification Uses specific notations, models and methods Produces deliverables (requirements documents) 2 com6030-2; Department of Computer Science; 2001 A. Requirements elicitation and analysis Uses a variety of methods to capture the requirements and involves both designer and end user/client Involves iterative discussions with the client to understand the system’s characteristics Useful to separate/prioritise the requirements (ex: library system) o Requirements that must be met (borrow, lend books) o Requirements that are desirable but not necessary (journals processing) o Requirements that are possible but could be eliminated (books reservation) Objects (books, staff ) and attributes: book name, isbn) + their operations (add book, borrow book) and states (book in library, on loan) are identified A document (requirements definition) may be written at the end of this stage 3 com6030-2; Department of Computer Science; 2001 B. Requirements definition and specification Requirements are specified by an analyst in a technical way (using some specific notations, methods) A document (requirements specification) is produced; may contain only specifications or may be combined with requirements definition The document produced is used as a basis for design Example: library system In the requirements definition: “a member of staff may borrow/return books; the maximum number of books that may be borrowed is 12” In the requirements specification we may find: o in a specific notation, the interactions between staff member actor and use the cases borrow books and return books o additionally a text description: “a staff member may borrow a book when the total number of books borrowed is less than 12” o user interface 4 com6030-2; Department of Computer Science; 2001 Functional requirements describe what the system does or expect to do: functionality functionality of a system includes o describe the system processing (borrow a book: check availability and no of books already borrowed and assign book) o details of the inputs into the system (borrow a book: book and member of staff identification; scope for some verifications) o details of the outputs that are expected from the system (borrow a book: could be only associated to some failures – book not available, already 12 books borrowed) o interactions with other components of the system (library system might interact with university staff system to getting info about staff) functionality is expressed through o functions describing various levels of detail (structured approach) o use cases, objects with attributes and operations, their interactions and behaviour (Object Oriented approach ) 5 com6030-2; Department of Computer Science; 2001 Non-functional requirements three main types of non-functional requirements: product requirements, which refer the system under development: o performance criteria: response time for finding a book in the system is no more than 15 sec o security considerations: authorized user may add books/journals o software constraints: platform, programming language, environment o a specific format (ASCII, pcx, gif), programming language o interface requirement: format of the interface, types, number of screens o physical requirements: hardware platform and configuration o availability: the system must have no more than 2h/month of down time process requirements, which refer to the development process involved (process standards, methods – ex: UML) external requirements refer to the interaction with other systems, constraints imposed by legislation, budget available – important also for feasibility study 6 com6030-2; Department of Computer Science; 2001 Requirements definition/specification document general view on the system and background: general description with main achievements and limits detailed description of the proposed system: o functions and data - classes o relationships/interactions among them o interactions with the environment – use cases o constraints (non-functional aspects) environment in which the system will operate appendix/glossary of concepts/terms used (precision and avoid misunderstandings) 7 com6030-2; Department of Computer Science; 2001 How to express requirements natural language (main part); disadvantages: o leads to misunderstandings because of the inherent ambiguity of natural languages o it is over flexible allowing related requirements to be expressed in completely different ways o requirements are not partitioned (divided in small (sub)groups): makes it difficult to maintain diagrammatic/visual notations of a specific methodology or ad-hoc notations: o structured, object-oriented o static (structural: class diagrams), dynamic (behavioural: statecharts) specification formal descriptions: state-based, algebraic, logic combined approaches (natural language, UML and Z) 8 com6030-2; Department of Computer Science; 2001 Ad-hoc diagrammatic notation – static diagrammatic) A design editor specification Methodology compiler Design editor Environment database Code skeleton generator Design analyser NAME DESCRIPTION Design editor An editing system which allows design diagrams to be created, modified and stored in a db Methodology compiler A translation system which takes a formal description of a design method and translates it 9 com6030-2; Department of Computer Science; 2001 Use case diagram (UML) – static diagrammatic Add a new client Assign staff to work on a campaign Campaign manager Change a client contact USE CASE DESCRIPTION Add a new client When a new client enter all details are recorded Assign staff to work on a When a new campaign starts, campaign members of staff are assigned to work on it … … 10 com6030-2; Department of Computer Science; 2001 Functional description and Transition diagrams – (dynamic diagrammatic and formal) the system is viewed as a set of states and functions passing from one state to another F(curr_state,curr_function) = next_state borrow return Book available Book not available F(Book available, borrow)=Book not available F(Book not available, return)=Book available F(Book available, return)=? 11 com6030-2; Department of Computer Science; 2001 Petri nets – (dynamic diagrammatic and formal/ parallel behaviour) suitable for expressing synchronization aspects for systems with concurrent behaviour 4 Philosophers sitting around a table are thinking most of the time; from time to time, becoming hungry they want to eat; this is possible only when the two forks next to them are available; when these are available they may eat and then put down the forks and restart to think. Ph1 Ph2 Ph4 Ph3 12 com6030-2; Department of Computer Science; 2001 Fork Ph_i thinking Ph_i eating Fork Ph_j thinking Ph_j eating Fork 13 com6030-2; Department of Computer Science; 2001 Conclusions Requirements elicitation Requirements specification Functional requirements and nonfunctional requirements Requirements document Notations: diagrammatic, formal, static, dynamic 14
© Copyright 2026 Paperzz