Lecture - 7
Lecture - 7
Lecture - 7
Elicitation and
Analysis
Learning goals
Assume that a bank maintains 2 kinds of Accounts for customers, one class called
as savings account and other class called as current account. The savings account
provides deposit, simple interest and withdrawal facilities. The current account
provides deposit, withdrawal facilities but no interest. Include necessary methods
in order to achieve the following tasks.
An essential thing
Requirements Elicitation
Requirements Analysis
Elicitation ?
The client, the developers, and the users identify a problem area and define a
system that addresses the problem
FR1: Search for available courses: A student can see all courses of the current
semester in his major and minor subject. He is able to join the course which
saves it into his course list. He can also drop a course.
FR2: Check course details: A student can see details about a course such as the
course times, the
location of the lecture hall on a map and other course attendees including their
name and picture.
FR3: Update profile: A student can update his profile settings and his profile
picture. He can also change the notification settings.
FR4: Add comments: A student can add comments about a course and thus
start a discussion.
Others can like the comment and write follow-up comments.
Non-Functional Requirements
Describes the aspects of the system that are not directly related to its
functional behavior.
Non-functional requirements
Also called quality requirements and can be described by the acronym URPS
Usability: human factors, aesthetics, consistency, documentation,
responsiveness
Reliability: availability, failure frequency, robustness
Performance: speed, efficiency, resource consumption
Supportability: maintainability, testability, flexibility
Examples of non-functional requirements
NFR1: The app should be intuitive to use and the user interface
should be easy to understand.
All interactions should be completed in less than three clicks.
NFR2: Conformance to guidelines: The design of the app should
conform to the usability Guidelines for the chosen operating system.
Constraints
Also called pseudo requirements:
Implementation: constraints on the implementation of the system, including the
use
of specific tools, programming languages, or hardware platforms.
Interface: constraints imposed by external systems, including legacy systems and
interchange formats
Operations: constraints on the administration and management of the system in
the
operational setting
Packaging: constraints on the actual delivery of the system (e.g., constraints on
the
installation media for setting up the software).
Legal: concerned with licensing, regulation, and certification issues
Activities during Requirements Elicitation (Contd..)
Refining use cases: Detailing each use case and describing the
behavior of the system in the presence of errors and exceptional
conditions
Identifying relationships among use cases: Identify dependencies
among use cases found during “identifying use cases”
Identifying nonfunctional requirements: Agree on aspects that are
visible to the user, but not directly related to functionality
Requirement Validation
Completeness
Consistency
Clarity
Correctness
Requirement specifications
Verifiable
“The product shall respond to the user within 1 second for most cases”
Use Case Diagram
Thank You