IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 12 – 11 – 2011 College Of Computer Science and Information, Information Systems Department Objectives 2 • Functional requirements • Non-Functional requirements Requirement Engineering 3 • What is requirement engineering ? • The process to obtain customers or end-users requirements of software • includes a set of tasks that lead to an understanding of software requirements 4 Functional Requirements Functional Requirements 5 • • A functional requirement defines a function of a software system or its component. FRs describe what a system does, but not what is done to the system. Functional Requirements 6 • • We can describe a FR as a sentence that takes the following form: "The product does something" where the does something part is a verb clause describing the action or reaction of the product within its operating environment. Functional Requirements 7 • Functional Requirements have the following characteristics: • • • • • • uses simple language not ambiguous contains only one point specific to one type of user describes what and not how grammatically correct Functional Requirements 8 • A requirement must state who shall (do, perform, provide, weigh, or other verb) followed by a description of what must be performed. Example: “System ABC shall do XYZ” The system shall produce reports. • FRs should never describe the form, shape, material, or any other physical characteristic of a product. 9 Non-Functional Requirements Non-functional requirements 10 • • Non-functional requirements define the overall qualities or attributes of the resulting system Non-functional requirements place restrictions on the product being developed, the development process, and specify external constraints that the product must meet. Non-functional requirements 11 • Example: “The System ABC shall/should be done with constraint” The system shall ensure that data is protected from unauthorized access • A non-functional requirement (security) because it does not specify specific system functionality Examples of NFR 12 To make it easier to capture non-functional requirements, we organize them into five categories: • • • • • Usability Reliability Performance Supportability Security Usability 13 • • Usability describes the ease with which the system can be learned or used. A typical usability requirement might state: • • • The system should allow beginner users to install and operate it with little or no training. The end user shall be able to place an order within thirty seconds. The end user shall be able to access any page within four seconds Reliability 14 • • Reliability describes the degree to which the system must work for users. Specifications for reliability typically refer to • • • • • Availability mean time between failures mean time to repair Accuracy For example: • • The system shall meet the terms of a Service Level Agreement. The mean time to failure shall be at least four months. Performance 15 • Performance specifications typically refer to • • • • response time transaction throughput and capacity. For example: • • • All Web pages must download within three seconds during an average load All Web pages must download within five seconds during a peak load. While executing a search, the system must be able to display 500 search results per page. Supportability 16 • • Supportability refers to the software's ability to be easily modified or maintained to accommodate typical usage or change scenarios. For examples: • • The system shall allow users to create new workflows without the need for additional programming. The system shall allow the system administrator to create and populate tax tables for the upcoming tax year. Security 17 • • Security refers to the ability to prevent and/or forbid access to the system by unauthorized parties. For examples: • • User authentication shall be via the corporate Single Signon system. Only authorized payroll administrators shall be permitted to access employee pay information. Writing Requirements - Example 18 DOCTORHEALTH is a private clinic specializing in heart disease. The clinic employs one receptionist, one doctor, and one accountant. The general patient records are maintained by the receptionist. When a patient arrives at the clinic, the receptionist is responsible for updating the patient records. If the patient is new to the clinic, the receptionist enters the new patient details in the system. If the patient has been to the clinic before, the receptionist checks that old patient details are correct. If they are not, they are updated. The doctor maintains detailed information (records) of the patient consultations that have taken place each day. The receptionist also records details of payments due for each patient consultation and sends them to the accountant. The accountant receives payment details and sends a bill to the patient. An overdue balance report is prepared by the accountant and sent to the doctor. Patients are supposed to send payments by cheque via post to the accountant. Once a week the accountant tracks the payments and sends a report to the receptionist about the patients that have paid their consultation and the ones that are still pending payments. Based on the report the receptionist updates the patient records with respect to payment. Questions 19 Dr Marc Davidson, the owner of DOCTORHEALTH, wishes to automate all these activities as much as possible. So, based on the information provided: 1) 2) Identify requirements for an IT system for DOCTORHEALTH Write them all using the same form e.g. the X shall/should (not) do Y (FR) the X shall/should be done with constraint Y (NFR) Questions ?? 20