Unit 2 SE
Unit 2 SE
Unit 2 Notes-
1. Introduction
2. Overall Description
Product Perspective: Explains how the system fits within existing systems.
Product Functions: Describes major functions at a high level.
User Characteristics: Identifies the target audience and their experience level.
Constraints: Lists any design, regulatory, or legal constraints.
Assumptions and Dependencies: Outlines assumptions made during development.
3. Specific Requirements
1
Non-functional Requirements:
o Performance
o Security
o Usability
o Reliability
o Scalability
Database Requirements: If applicable, details about data storage and management.
4. Appendices (Optional)
5. Glossary
2
Conducting walkthroughs and inspections.
Using prototypes and simulations for verification.
Ensuring correctness, consistency, and completeness.
The Requirement Engineering Process involves three critical stages: Elicitation, Analysis,
and Documentation. These ensure that software requirements are accurately gathered,
refined, and recorded for successful project execution.
3
Activities in Requirement Analysis:
Review and Management of User Needs is a crucial part of the Requirement Engineering
Process, ensuring that software requirements align with user expectations and remain
relevant throughout the software development lifecycle.
4
1. Review of User Needs
Reviewing user needs involves evaluating the gathered requirements to confirm their
accuracy, feasibility, and completeness. This step prevents misunderstandings, errors, and
inconsistencies before development begins.
✔Stakeholder Review: Engaging users, clients, and project teams to validate requirements.
✔Requirement Verification: Ensuring requirements are clear, specific, and achievable.
✔Prototyping & Feedback: Developing wireframes or mockups to confirm user
expectations.
✔Walkthroughs & Peer Reviews: Conducting formal discussions to identify missing or
conflicting requirements.
✔Test Case Preparation: Creating test scenarios to ensure requirements are testable.
Feasibility Study-
5
Feasibility Study in Requirement Engineering
Determines whether the required technology, tools, and resources are available to develop the
system.
Assesses compatibility with existing infrastructure.
Evaluates risks related to hardware, software, and development skills.
Example: Can the hospital management system integrate with existing medical databases?
Analyzes if the project is financially viable by comparing costs with expected benefits.
Considers development, maintenance, training, and operational costs.
Example: Will automating patient records save costs in the long run?
3. Operational Feasibility
Ensures compliance with legal and regulatory requirements (e.g., HIPAA for healthcare,
GDPR for data privacy).
Checks for licensing and intellectual property concerns.
Example: Does the system comply with patient data protection laws?
Assesses whether the project can be completed within the given timeline.
Evaluates risks of delays and their impact on business operations.
Example: Can the hospital management system be implemented in 6 months without affecting
daily operations?
6
Importance of Feasibility Study
✔ Reduces Project Risks – Identifies potential challenges before investment.
✔ Saves Time & Cost – Prevents investing in an impractical project.
✔ Ensures Success – Confirms that the system aligns with business needs.
✔ Aids Decision-Making – Helps stakeholders decide whether to proceed with the project.
Information Modeling-
Information Modelling in Requirement Engineering
7
Importance of Information Modelling
✔ Improves System Understanding – Visual representation aids communication between
developers and stakeholders.
✔ Enhances Data Organization – Ensures a structured and efficient database design.
✔ Reduces Errors & Redundancy – Avoids inconsistent or duplicate data storage.
✔ Facilitates System Scalability – Helps in designing flexible and expandable systems.
A Data Flow Diagram (DFD) is a graphical representation of how data moves within a
system. It helps in understanding system functionality by illustrating data input, output,
processes, and storage. DFDs are widely used in Requirement Engineering to model system
processes at different levels of abstraction.
Levels of DFD
1. Level 0 DFD (Context Diagram)
8
2. Level 1 DFD
Importance of DFDs
✔ Clear Visualization – Simplifies complex system understanding.
✔ Effective Communication – Bridges gap between developers and stakeholders.
✔ Identifies Bottlenecks – Helps in detecting inefficiencies in data flow.
✔ Improves System Design – Aids in database and process optimization.
9
Key Components of an ERD
1. Entities (Tables in Databases)
o Represent objects in the system.
o Symbol: Rectangle
o Example: Patient, Doctor, Appointment, Bill
2. Attributes (Columns in Tables)
o Describe entity properties.
o Symbol: Oval/Ellipse
o Example: Patient (Patient_ID, Name, Age, Contact)
3. Relationships (Links Between Entities)
o Define how entities interact.
o Symbol: Diamond
o Example: A patient "books" an appointment.
4. Primary Key (PK)
o A unique identifier for each entity instance.
o Example: Patient_ID in the Patient entity.
5. Foreign Key (FK)
o A reference to another entity’s primary key to establish relationships.
o Example: Doctor_ID in the Appointment entity (refers to Doctor table).
Relationships:
10
Importance of ERDs
✔ Better Database Design – Avoids redundancy and improves efficiency.
✔ Clear Understanding of Data Relationships – Helps developers and stakeholders.
✔ Ensures Data Integrity – Defines constraints like primary and foreign keys.
✔ Facilitates Scalability – Supports future database modifications.
Decision Tables-
Decision Tables in Requirement Engineering
2 Yes Yes No No
3 Yes No Any No
4 No Any Any No
Explanation of Rules:
Rule 1: If the patient is registered, the doctor is available, and payment is made →
Appointment is confirmed.
Rule 2: If the patient is registered and the doctor is available but payment is not made → No
appointment.
Rule 3: If the patient is registered but the doctor is unavailable → No appointment.
Rule 4: If the patient is not registered, no appointment is allowed regardless of other
conditions.
11
Advantages of Decision Tables
✔ Ensures Clarity – Provides a structured way to define business rules.
✔ Reduces Ambiguity – Covers all possible input combinations.
✔ Helps in Testing & Validation – Ensures correctness in decision-making.
✔ Improves System Logic – Avoids missing conditions or contradictory rules.
SRS Document-
Software Requirement Specification (SRS) Document for a Hospital
Management System
1. Introduction
1.1 Purpose
The purpose of this document is to define the functional and non-functional requirements for
the Hospital Management System (HMS). This system aims to streamline hospital
operations, including patient registration, doctor appointments, billing, and medical record
management.
1.2 Scope
The HMS will allow patients, doctors, and hospital staff to efficiently manage hospital-
related processes such as scheduling appointments, storing medical records, and generating
bills. The system will be accessible via web and mobile applications.
1.4 References
2. Overall Description
12
Medical Records: Store, retrieve, and update patient history.
3. Functional Requirements
ID Requirement
4. Non-Functional Requirements
ID Requirement
NFR-04 The system shall respond within 2 seconds for user actions.
5. System Models
6. Constraints
The system must comply with healthcare regulations (e.g., HIPAA, GDPR).
It must work on Windows, macOS, Android, and iOS.
Payments should be processed via integrated payment gateways.
13
7. Appendices
Conclusion
This SRS document defines the functional and non-functional requirements for a
Hospital Management System. It serves as a blueprint for developers, testers, and
stakeholders, ensuring that the system meets user needs efficiently.
The IEEE 830-1998 standard provides guidelines for writing a Software Requirements
Specification (SRS) document. It ensures clarity, consistency, and completeness in software
requirements.
2. Overall Description
3. Specific Requirements
14
4. Appendices & Glossary
1. Objectives of SQA
✔Ensure Software Reliability & Performance
✔Prevent Defects Instead of Detecting Later
✔Enhance User Satisfaction & Compliance
✔Improve Development Efficiency
15
2. Software Development Life Cycle (SDLC) Integration
Applies quality checks at each SDLC phase (Requirement, Design, Coding, Testing,
Deployment)
6. Defect Management
4. Benefits of SQA
✅Reduces Costs – Early defect detection prevents costly fixes
✅Enhances Security – Ensures vulnerability-free software
✅Ensures Compliance – Meets regulatory standards like ISO, HIPAA
✅Improves Customer Satisfaction – Delivers reliable and high-quality software
16
Verification and Validation-
Verification and Validation (V&V) in Software Engineering
Verification and Validation (V&V) are two key processes in Software Quality Assurance
(SQA) that ensure a software system meets requirements and works as expected.
Ensures the software meets design Ensures the software meets user
Definition
specifications. requirements and expectations.
Checking if the software follows coding Ensuring the final system works
Example
standards and design documentation. correctly for end users.
Verification Activities:
17
Validation Activities:
SQA Plans-
Software Quality Assurance (SQA) Plan
An SQA Plan is a document that outlines the strategies, processes, and activities to ensure
software quality throughout the Software Development Life Cycle (SDLC). It defines roles,
responsibilities, standards, tools, and testing methodologies to maintain software
reliability and efficiency.
18
Role Responsibilities
Project Manager Ensures SQA activities align with the project timeline.
Defines quality assurance activities for each phase (Requirement, Design, Coding, Testing,
Deployment).
Ensures verification and validation (V&V) methods are applied.
7. Risk Management
MTBF (Mean Time Between Failures) Average time between software failures.
19
Software Quality Frameworks-
Software Quality Frameworks
✔Best for: Organizations needing quality certification and structured process control.
20
1.4 ISO/IEC 25010 (Software Product Quality Model)
✔Best for: Companies looking for long-term quality culture and process improvement.
The ISO 9000 family is a set of international quality management standards developed
by the International Organization for Standardization (ISO). It provides guidelines for
21
ensuring quality, process improvement, and customer satisfaction in various industries,
including software development.
ISO 19011 Guidelines for auditing a QMS. Helps in conducting quality audits.
1. Customer Focus
2. Leadership
3. Engagement of People
4. Process Approach
22
5. Continuous Improvement
Use metrics like defect rates, performance benchmarks, and user feedback.
Track and analyze project quality performance.
7. Relationship Management
Use KPIs (Key Performance Indicators) like defect density, uptime, and response time.
23
✅Reduces defects and development costs
✅Facilitates compliance with global quality standards
SEI-CMM Model-
SEI-CMM Model (Capability Maturity Model - CMM)
The Capability Maturity Model (CMM) was developed by the Software Engineering
Institute (SEI) at Carnegie Mellon University to assess and improve software
development processes. It provides a structured approach to enhance process maturity,
reduce defects, and improve software quality.
1. Objectives of SEI-CMM
✔ Improve software development and maintenance processes.
✔Reduce risks, defects, and project failures.
✔Establish measurable and repeatable software processes.
✔Enhance productivity, quality, and customer satisfaction.
Level Quantitatively Managed Use of metrics and data analysis for process
4 (Measured Process) improvements.
24
✅Level 2 – Managed (Basic Control)
✅Process Performance Measurement – Use KPIs like defect density and response time.
✅Software Quality Management – Apply statistical methods to control defects.
25
26