CSE320_Unit1_3
CSE320_Unit1_3
Engineering
Unit-1
Introduction to S/w Engineering
Table of Content
• Feasibility Study
• Requirement Gathering
• SRS
Feasibility Study in Software
Engineering
Definition
• Analyzes the practicality and viability of a software project.
• Determines whether the project is worth pursuing.
Purpose
• Identifies potential challenges and risks early in the process.
• Ensures that the software project is technically, financially, and
operationally feasible.
• Helps stakeholders make informed decisions about project
initiation.
Contd.
Importance
Types of Feasibility
• Technical Feasibility
• Assesses if the required technology and resources exist.
• Economic Feasibility
• Evaluates cost-benefit analysis and return on investment.
• Legal Feasibility
• Checks compliance with laws, regulations, and contractual obligations.
• Operational Feasibility
• Determines if the project meets user needs and expectations.
• Scheduling Feasibility
• Assesses if the project can be completed on time.
Functional and Non-Functional
Requirements
Importance
• Functional requirements guide system capabilities and scope.
• Non-functional requirements ensure system meets quality standards .
Functional Requirements
• Define the core features and behaviors of the system.
• Examples:
• User login and authentication.
• Data processing and calculations.
• Reporting and data export.
• Interaction with external systems.
Non-Functional Requirements
• Examples:
• Performance (e.g. response time, throughput)
• Security (e.g. encryption, user access controls)
• Scalability (e.g. ability to handle growing user base)
• Usability (e.g. user-friendly interface)
• Reliability (e.g. system uptime, fault tolerance)
• Compliance (e.g. legal or regulatory standards)
Difference
Functional Requirements Non-Functional Requirements
• Describes what the system should do i.e. • Describes how the system should perform i.e.
specific functionality or tasks system attribute or quality
• Focuses on the behaviour and features of the • Focuses on the performance, usability, and
system other quality attributes
• Defines the actions and operations of the • Defines constraints or conditions under which
system the system must operate
• User authentication data input/output, • Scalability security, response time, reliability,
transaction processing maintainability
Requirement Gathering
• Critical phase in the Software Development Life Cycle (SDLC).
• Customer Satisfaction
• Scope Definition
• Reduced Misunderstandings
• Risk Mitigation
Contd.
Requirement Gathering Process
Step 1: Assigning Roles
• Identify and engage with all relevant project stakeholders.
• Include end-users, clients, and subject matter experts.
• Understand diverse perspectives for comprehensive
requirement gathering.
• Improved Communication
• Enhanced Quality
• Risk Management
• Accurate Planning
Requirement Analysis and specification
Overview of Requirements Analysis and Specification
• Begins after completing the feasibility study phase.
• Ensures project is financially and technically feasible.
• Ends with a reviewed Software Requirements Specification (SRS) document.
• Users often have incomplete system views
• Organizes customer requirements systematically into the SRS document.
• Engineers performing analysis are called analysts
• Goal: Clearly define and document all customer requirements.
Contd.
• Functional Requirements:
Describes system functions and data transformation.
• Non-Functional Requirements:
Reliability, performance, and interface constraints.
• System Constraints:
Standards, hardware, OS, and data compliance.
IEEE format for SRS Document