1 / 24

Software Requirements: A Reminder

This article provides an overview of software requirements, including types of requirements, user requirements, system requirements, functional and non-functional requirements, domain requirements, requirements imprecision, completeness and consistency. It also explores alternative approaches to natural language specification.

jlauren
Télécharger la présentation

Software Requirements: A Reminder

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Topic 1:Software Requirements (A Reminder)

  2. Types of requirement User requirements Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers. System requirements A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.

  3. Definitions and specifications

  4. Functional and non-functional requirements Functional requirements Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. Non-functional requirements constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. Domain requirements Requirements that come from the application domain of the system and that reflect characteristics of that domain.

  5. Functional requirements Describe functionality or system services. Depend on the type of software, expected users and the type of system where the software is used. Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail.

  6. Requirements imprecision Problems arise when requirements are not precisely stated. Ambiguous requirements may be interpreted in different ways by developers and users. Consider the term ‘appropriate viewers’ User intention - special purpose viewer for each different document type; Developer interpretation - Provide a text viewer that shows the contents of the document.

  7. Requirements completeness and consistency In principle, requirements should be both complete and consistent. Complete They should include descriptions of all facilities required. Consistent There should be no conflicts or contradictions in the descriptions of the system facilities. In practice, it is impossible to produce a complete and consistent requirements document.

  8. Functional requirements • Describe functionality or system services. (ex, the software should accept numbers from 0 to 100). • Depend on the type of software, expected users and the type of system where the software is used. • Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail.

  9. The LIBSYS system- Example • A library system that provides a single interface to a number of databases of articles in different libraries. (Usually used for university library systems). • Users can search for, download and print these articles for personal study.

  10. Examples of functional requirements • The user shall be able to search either all of the initial set of databases or select a subset from it. • The system shall provide appropriate viewers for the user to read documents in the document store. • Every order shall be allocated a unique identifier (ORDER_ID) which the user shall be able to copy to the account’s permanent storage area.

  11. Requirements imprecision or ambiguity • Problems arise when requirements are not precisely stated. (Ex, the software should accept too many users, considered ambiguous). • Ambiguous requirements may be interpreted in different ways by developers and users. (I believe 50 is too many, while somebody else think that 50 is too few). • Consider the term ‘appropriate viewers’ • User intention - special purpose viewer for each different document type; • Developer interpretation - Provide a text viewer that shows the contents of the document.

  12. Requirements completeness and consistency • In principle, requirements should be both complete and consistent. • Complete • They should include descriptions of all facilities required. If some spec is not specified, it will open the door for assumptions. • Consistent • There should be no conflicts or contradictions in the descriptions of the system facilities. Ex, The software should work only under Windows, and the software should be environment independent. • In practice, it is impossible to produce a complete and consistent requirements document – that may answer every single question.

  13. User requirements Should describe functional and non-functional requirements in such a way that they are understandable by system users who don’t have detailed technical knowledge. User requirements are defined using natural language, tables and diagrams as these can be understood by all users.

  14. Alternatives to NL specification

  15. Structured language specifications The freedom of the requirements writer is limited by a predefined template for requirements. All requirements are written in a standard way. The terminology used in the description may be limited. The advantage is that the most of the expressiveness of natural language is maintained but a degree of uniformity is imposed on the specification.

  16. Form-based node specification

  17. Tabular specification

  18. Scenarios Scenarios are real-life examples of how a system can be used. They should include A description of the starting situation; A description of the normal flow of events; A description of what can go wrong; Information about other concurrent activities; A description of the state when the scenario finishes.

  19. Use-Cases • A collection of user scenarios that describe the thread of usage of a system • Each scenario is described from the point-of-view of an “actor”—a person or device that interacts with the software in some way • Each scenario answers the following questions: • Who is the primary actor, the secondary actor (s)? • What are the actor’s goals? • What preconditions should exist before the story begins? • What main tasks or functions are performed by the actor? • What extensions might be considered as the story is described? • What variations in the actor’s interaction are possible? • What system information will the actor acquire, produce, or change? • Will the actor have to inform the system about changes in the external environment? • What information does the actor desire from the system? • Does the actor wish to be informed about unexpected changes?

  20. Use cases • Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself. • A set of use cases should describe all possible interactions with the system. • Sequence diagrams may be used to add detail to use-cases by showing the sequence of event processing in the system.

  21. Article printing use-case

  22. LIBSYS use cases

  23. Article printing

  24. Use-Case Diagram

More Related