Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Requirements
Software Requirements
Software Requirements
SWE Introduction to Software Engineering
Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
Overview of Software Requirements
Software Engineering Chapter 6 Software requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
AGU COE/COC Software Engineering CSE 402 / CSC 308 Slide 1 Requirements engineering l The process of establishing the services that the customer requires.
Software Requirements Presented By Dr. Shazzad Hosain.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
Software Requirements Descriptions and specifications of a system.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
Software Requirements. Objectives l To introduce the concepts of user and system requirements l To describe functional and non-functional requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
Software Requirements Software Requirements - adopted & adapted from I. Sommerville, 2004.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 / 54 Software Requirements.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Software Engineering Chapter 6 Software requirements Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Requirements Analysis
Software Engineering, 8th edition. Chapter 6 1 Courtesy: ©Ian Sommerville 2006 March 05 th, 2009 Lecture # 8 Software Requirements.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Engineering, COMP201 Slide 1 Software Requirements.
Pepper modifying Sommerville's Book slides
Types and Characteristics of Requirements
Chapter 4 – Requirements Engineering
Software Requirements
Software Requirements
Presentation on Software Requirements Submitted by
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Software Requirements
Objectives Importance of Requirement Engineering
Software Requirements
SNS College of Engineering Coimbatore
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

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) Yarmouk University Department of Computer Information Systems CIS 499

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.

Definitions and specifications

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Alternatives to NL specification

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.

Form-based node specification

Tabular specification

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.

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?

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.

Article printing use-case

LIBSYS use cases

Article printing

Use-Case Diagram