MSS Module 2 Important Topics
MSS Module 2 Important Topics
Table of contents
Non-functional requirements
Non-functional requirements are like rules for the system that don't involve specific tasks.
They are limits on what the system can do, like how fast it should work or following certain
standards during development.
Often apply to the system as a whole rather than individual features or services.
Requirements elicitation;
Requirements analysis;
Requirements validation;
Requirements management.
Techniques used
1. Interviewing
2. Ethnography
Ethnography is an observational technique that can be used to understand operational
processes and help derive requirements for software to support these processes
Ethnography is like being a detective to understand how things work.
Instead of just asking people or reading about it, you watch them closely.
This is useful for figuring out what a computer program needs to do to support how
people really work, not just what the company says they should do.
Ethnography helps find hidden requirements.
Requirements Validation
Requirements validation is the process of checking that requirements define the system
that the customer really wants.
Requirements validation is critically important because errors in a requirements document
can lead to extensive rework costs when these problems are discovered during
development or after the system is in service
Checks to be done
Validity Checks
These check that the requirements reflect the real needs of system user
Consistency checks
Requirements in the document should not conflict
Completeness checks
The requirements document should include requirements that define all functions and
the constraints intended by the system user.
Realism checks
Ensure that they can be implemented within the proposed budget for the system.
Verifiability
Write a set of tests that can demonstrate that the delivered system meets each
specified requirement
Requirements Change
The business and technical environment of the system always changes after installation.
New hardware may be introduced,
Business priorities may change
New legislation and regulations may be introduced
The people who pay for a system and the users of that system are rarely the same people
Large systems usually have a diverse user community
With many users having different requirements and priorities that may be conflicting
or contradictory
Traceability Matrix
Traceability is a software engineering term that refers to documented links between
software engineering work products
A traceability matrix allows a requirements engineer to represent the relationship between
requirements and other software engineering work products.
They can provide continuity for developers as a project moves from one project phase to
another, regardless of the process model being used
Scenarios
A scenario is a narrative that describes how a user, or a group of users, might use your
system
There is no need to include everything in a scenario
It is simply a description of a situation where a user is using your product’s features to do
something that they want to do
User Stories
User Stories are like short stories that describe something a user wants from a software
system
Detailed Descriptions:
User stories tell exactly what a user wants in a clear and structured way.
Focus on Small Bits
User stories are best when they focus on one thing or a small part of a feature. This
way, it can be completed in a single work cycle, which is usually called a sprint.
Complex Stuff:
If a story is about something more complicated that might take a few work cycles, it's
called an "epic." Epics are like big chapters in the user storybook.
In simple terms, user stories are like little chapters that users write to explain what they want
from a software, and it helps the team plan and build the software step by step
Feature Identification
Your aim in the initial stage of product design should be to create a list of features that
define your product
Features should be
Independent
Features should not depend on how other system features are implemented
Coherent
Features should be linked to a single item of functionality.
Relevant
Features should reflect the way that users normally carry out some task.
Architectural Design
Design Model
The design model can be viewed in two different dimensions
- The process dimension indicates the evolution of the design model
- The abstraction dimension represents the level of detail as each element of the analysis
model is transformed into a design equivalent and then refined iteratively
Architectural Styles
An architectural style is a transformation that is imposed on the design of an entire system
Data Centred Architecture
A data store resides at the center of this architecture and is accessed frequently by
other components that update, add, delete, or otherwise modify data within the store
Data Flow Architecture
This architecture is applied when input data are to be transformed through a series of
computational or manipulative components into output data
This structure accepts a batch of data and then applies a series of sequential
components (filters) to transform it.