Swe 4
Swe 4
1. Introduction:
○ Purpose: Explains the objective of the system andthe purpose
of the SRS document.
○ Scope: Describes the system's scope, including whatit will and
will not do.
○ Definitions, Acronyms, and Abbreviations: Lists termsused in
the document.
○ References: Provides links or citations to relateddocuments,
standards, or guidelines.
2. Overall Description:
○ Product Perspective: Describes how the system fitsinto the
existing environment, including interfaces with other systems.
○ Product Functions: Summarizes the major functionsof the
system.
○ User Characteristics: Defines the intended users,their roles,
skills, and experience.
○ Assumptions and Dependencies: Lists assumptions aboutthe
system's environment and dependencies on external factors.
3. Functional Requirements:
○ Specifies the system's behavior, detailing inputs, processes, and
outputs.
○ Example: "The system shall allow users to reset their password
via email verification."
4. Non-Functional Requirements:
○ D escribes performance, security, usability, reliability, and
scalability requirements.
○ Example: "The system shall handle up to 10,000 concurrent
users with a response time of less than 2 seconds."
5. External Interface Requirements:
○ Details how the system interacts with external systems,
hardware, and users.
○ Includes user interfaces, APIs, and communication protocols.
6. System Models:
○ Provides diagrams like use-case diagrams, context diagrams, or
data flow diagrams (DFDs) to illustrate the system's structure and
behavior.
7. Constraints:
○ Specifies restrictions such as regulatory compliance, hardware
limitations, or specific technologies that must be used.
8. Validation Criteria:
○ Defines how the system will be tested to ensure it meets
requirements.
Benefits of SRS
1. Interviews:
○ A face-to-face or virtual interaction with stakeholders to gather
requirements directly.
○ Types:
■ Structured: Predefined questions are asked.
■ Unstructured: Open-ended and exploratory.
○ Advantages:
■ Allows in-depth exploration of needs.
■ Builds rapport with stakeholders.
○ Challenges:
■ Time-consuming.
■ May lead to incomplete or biased information.
2. Questionnaires and Surveys:
○ Distributing a set of questions to stakeholders to collect
requirements from a large audience.
○ Advantages:
■ Cost-effective and scalable.
■ Provides quantitative data.
○ Challenges:
■ Limited flexibility for clarification.
■ Depends on the quality of the questions.
3. Workshops:
○ A collaborative session involving stakeholders and team
members to discuss and define requirements.
○ Advantages:
■ Encourages brainstorming and consensus.
■ Quick resolution of conflicts.
○ Challenges:
Requires skilled facilitators.
■
■ Can be challenging to manage diverse opinions.
4. Focus Groups:
○ A moderated discussion with a group of users or stakeholders to
explore their needs and opinions.
○ Advantages:
■ Provides diverse perspectives.
■ Identifies shared priorities.
○ Challenges:
■ Risk of groupthink or dominant voices overshadowing
others.
5. Observation:
○ Watching users perform their tasks to understand their workflow,
challenges, and needs.
○ Types:
■ Passive: Observer does not interact.
■ Active: Observer interacts and asks questions.
○ Advantages:
■ Captures real-world practices.
■ Identifies implicit requirements.
○ Challenges:
■ Time-consuming.
■ Users may modify behavior when observed.
6. Prototyping:
○ Creating a mockup or working model of the system to gather
feedback on requirements.
○ Advantages:
■ Visualizes requirements for stakeholders.
■ Helps refine unclear requirements.
○ Challenges:
■ Can lead to scope creep.
■ Stakeholders might confuse prototypes with final products.
7. Document Analysis:
○ Reviewing existing documentation, such as manuals, process
diagrams, or reports, to extract requirements.
○ Advantages:
■ Useful for systems with legacy components.
Provides historical context.
■
○ Challenges:
■ Documents may be outdated or incomplete.
8. Brainstorming:
○ A group activity to generate ideas and potential requirements
through creative thinking.
○ Advantages:
■ Encourages out-of-the-box thinking.
■ Identifies innovative solutions.
○ Challenges:
■ Requires facilitation to stay focused.
■ May produce unfeasible ideas.
Structure:
C
● onditions: Input factors that influence the decision.
● Actions: Outcomes or operations performed based onconditions.
● Rules: Each column represents a unique combination of conditions
and the corresponding action(s).
Example:
ser is
U Yes Yes No No
authenticated
ayment details
P Yes No Yes No
valid
Uses:
S
● implifies complex decision-making processes.
● Ensures all possible combinations of conditions are considered.
● Useful for systems with many conditional workflows, such as
e-commerce or banking systems.
Structure:
● vent: A specific occurrence that triggers a process.
E
● Trigger: The condition or input that initiates theevent.
● Source: The origin of the event.
● Action: The process performed in response to the event.
● Response: The output or result of the action.
● Destination: The recipient of the response.
Example:
User Login L
ogin User alidate
V uccess or
S ser
U
credentials credentials failure Interface
rder
O ubmit
S usto
C rocess
P rder
O ustomer
C
Placement order mer payment confirmation Email
Uses:
C
● aptures system behavior in response to real-world events.
● Ensures completeness by listing all relevant events.
● Useful in event-driven systems like online booking or IoT applications.
Structure:
● urrent State: The system's state before the eventoccurs.
C
● Event: The input or trigger causing a transition.
● Next State: The system's state after the transition.
● Action: The process or response performed during thetransition.
Example:
Logged Out L
ogin Logged In D
isplay
Success Dashboard
Uses:
● M odels systems with discrete states, such as login/logout systems or
vending machines.
● Provides clarity in understanding state-dependent behavior.
● Useful in designing finite state machines.
efinition: A Petri net is a graphical and mathematical modeling tool used to
D
describe and analyze the behavior of distributed systems. It represents
processes in terms of states, transitions, and tokens.
Components:
P
● laces (Circles): Represent states or conditions.
● Transitions (Rectangles): Represent actions or eventsthat cause state
changes.
● Arcs (Arrows): Connect places and transitions, showingthe flow.
● Tokens (Dots): Represent the presence of a conditionor resource.
Example:
P
● lace: "Payment Initiated".
● Transition: "Payment Approved".
● Token Movement: When the "Payment Approved" transitionfires, a
token moves from "Payment Initiated" to "Payment Completed".
Uses: