Professional Documents
Culture Documents
CS 1212 Lecture 5
CS 1212 Lecture 5
CS 1212 Lecture 5
• When the client approaches the organization for getting the desired product
developed, they comes up with only rough idea about what functions the software
must perform, and a set of features expected from the software.
• The analysts does a detailed study about whether the desired system and its
functionality are feasible to develop.
• The focus is to analyze whether the software product can be practically materialized
in terms of implementation, contribution of project to organization, cost constraints
and as per values and objectives of the organization, as well as technical aspects of
the project and product such as usability, maintainability, productivity and
integration ability.
• The output is a feasibility study report that should contains adequate comments and
recommendations for management about whether the project should be undertaken.
FEASIBILITY STUDY
• Here, requirements are identified with the help of customers and existing systems processes, if
available.
• Analysts work with customers to determine the application domain, the services that the system
should provide and the system’s operational constraints.
• Stakeholders involved include end-users, managers, engineers involved in maintenance, domain
experts, trade unions, etc.
• The process has five steps, including:
• Domain understanding: Understanding application domain. For example, for supermarket, analyst need
to understand how supermarkets work.
• Requirement collection: Interact with the stakeholders to discover their requirements.
• Requirements Classification: Organise the collected requirements into coherent clusters.
• Conflict resolution: Finding and resolving conflicting requirements from different stakeholders
• Requirements prioritization: Interact with stakeholders to discover the most important requirements
REQUIREMENTS GATHERING
• Domain Analysis: Every software falls into some domain category. The analysts
work with the domain expert to analyze general and specific requirements.
• Brainstorming: An informal debate is held among various stakeholders and all
their inputs are recorded for further requirements analysis.
• Observation: Team of experts visit the client’s organization or workplace to
observe the actual working of the existing installed systems. They observe the
workflow at client’s end and how execution problems are dealt. The team itself
draws some conclusions which aid to form requirements expected from the
software.
• Prototyping: A user interface is built without adding detailed functionality for user
to interpret the features of intended software product. The prototype is shown to the
client and the feedback is noted. The client feedback serves as an input for
requirement gathering.
REQUIREMENTS SPECIFICATION
• After the analysts collected requirements and write them in the customer ordinary language, the
analysts write the requirement in technical language so that they can be understood and beneficial by
the development team.
• The document produced is called requirements specification document which comprises of different
modeling of the proposed system.
• Among the modelling used are data flow diagrams, entity relationship diagrams, and data dictionaries.
• Data Flow Diagrams (DFDs): DFDs are used widely for modeling the requirements. DFD shows the
flow of data through a system. The system may be a company, an organization, a set of procedures, a
computer hardware system, a software system, or any combination of the preceding.
• Entity-Relationship Diagrams (ERD): These are detailed logical representation of the data for the
organization. They use three main constructs, i.e., data entities, relationships, and their associated
attributes.
• Data Dictionaries: Data Dictionaries are simply repositories to store information about all data items
defined in DFDs. At the requirements stage, the data dictionary should at least define customer data
items, to ensure that the customer and developers use the same definition and terminologies.
REQUIREMENTS VALIDATION
• The requirements document is the official statement of what is required of the system.
• It should include both a definition and a specification of requirements
• A Requirement definition is a statement of one thing a product must do or a quality it
must have. A Requirement Specification is a collection of the set of all requirements
that are to be imposed on the design and verification of the product. The specification
also contains other related information necessary for the design, verification, and
maintenance of the product.
• Requirements help to describe what the software should do, while the specification
helps to get a clear understanding of the product to develop it and to minimise
software failures.
• Requirement document is NOT a design document. As far as possible, it should set of
WHAT the system should do rather than HOW it should do it.
REQUIREMENTS DEFINITION VS SPECIFICATION