Chapter: 6-Requirements Modeling: Scenarios, Information, and Analysis Classes
Chapter: 6-Requirements Modeling: Scenarios, Information, and Analysis Classes
KSU ID :10154635
6.1 What are the main uses for the requirements models?
The main uses for the requirements models are the following;
Focusing on the system's external behavior, separately from its internal design.
Being able to describe the users' and stakeholders' needs with much less ambiguity than
one can in natural language.
To define a consistent glossary of terms that can be used by everyone in the software
project team like users, developers, and testers.
The models can be used as a basis for system tests, defining a clear relationship
between the tests and the requirements. When the requirements change, this
relationship helps one update the tests correctly. This in turn makes sure that the
system meets the new requirements.
It provides greatest benefit if one uses it to focus discussions with the users or their
representatives, and revisits it at the beginning of each iterative step.
6.3 What is the purpose of domain analysis? How is it related to the concept of requirements
patterns?
Domain analysis is the process of analyzing related software applications and systems in a
domain in order to look for reoccurring analysis patterns so that they can be reused and
applied to solve problems faced in software development. The purpose of domain analysis
is to expedite the creation of analysis model so that time-to-market and development costs
are reduced. The role of the domain analyst is to discover and define analysis patterns,
analysis classes and related information that may be used my many people working on
similar but not necessarily the same applications.
6.4 Explain the differences between structured analysis and object-oriented analysis.
Sayantini Basak
KSU ID :10154635
Structure Analysis: In this approach, data and processes that transform the data are taken
to be independent of each other. It is an old approach and since data objects and the
processes that manipulate the data objects are modeled in entirely different fashion, it is
not preferred as much these days. This approach emphasizes more on the behavior and
processes and hence is not able to provide benefits like reusability, polymorphism, and
inheritance and so on. Modeling techniques used in it are Data Flow Diagrams (DFDs),
flowcharts and so on.
Object-oriented Analysis: This approach creates a powerful and effective environment for
analyzing, designing, implementing flexible and robust real-world systems. In this method,
the focus is more on capturing the real world objects in the current scenario that are of
importance to the system. It stresses on the definition of classes and the manner in which
they collaborate with one another to effect customer requirements. Using this approach
keeps your system more maintainable and reusable, and is a common choice nowadays. Modeling
techniques used in it are Unified modeling Language (UML) that can present both structural and
behavioral/procedural aspect of the system. UML includes Class Diagram, State Diagram, Use case
diagram, Sequence Diagram, etc.