Software Engineering Unit 2 Easy Notes (Edushine Classes)
Software Engineering Unit 2 Easy Notes (Edushine Classes)
Edushine Classes
Follow Us
Download Notes : https://rzp.io/rzp/dhbqdFp
https://telegram.me/rrsimtclasses/
Software Engineering (BCS601)
Before starting the Requirement Engineering Process, we must check whether the
software project is possible to build or not. This step is called Feasibility Study.
1. Feasibility Study?
📌 A Feasibility Study is an analysis to check if a software project is technically
possible, cost-effective, and beneficial for the organization.
📌 It helps decision-makers understand whether they should proceed with the
project or not.
Types of Feasible Study
i. Technical Feasibility 🚀
✔Checks if required technology, hardware, and software are available.
✔ Ensures the project is technically possible to develop.
✔ Example: Can we build an AI chatbot with our current resources?
ii. Economic Feasibility (Cost Analysis) 💰
✔Compares project cost vs. expected profit.
✔ Ensures the project is financially beneficial.
✔ Example: If development costs ₹10 lakh but earns ₹50 lakh, it is feasible.
iii. Legal Feasibility ⚖️
✔Checks if the project follows laws and regulations.
✔ Ensures no copyright, data privacy, or legal issues.
✔ Example: A healthcare app must follow HIPAA or GDPR rules.
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
2. Collecting Requirements 📋
Different techniques are used to collect information from stakeholders, such as:
✔Interviews: Asking questions directly to users.
✔Surveys & Questionnaires: Collecting feedback from many users at once.
✔Workshops & Meetings: Group discussions to finalize requirements.
✔Observation: Watching users perform tasks to understand their needs.
3. Analyzing Requirements 🔍
After collecting requirements, they are checked to see if they are:
✅ Complete (nothing is missing)
✅ Clear (no confusion)
✅ Feasible (possible to implement)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
4. Documenting Requirements 📝
• All the gathered information is written clearly in a Software Requirement
Specification (SRS) document.
• This document acts like a blueprint for the development team.
5. Validating Requirements ✅
• Before finalizing, the requirements are reviewed with the stakeholders to ensure
they are correct and understood properly.
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
4. Incomplete Information ⚠
Some stakeholders may forget to mention important details or assume developers
already know them.
Example: A hospital software requires patient data backup, but the client forgets to
mention it.
5. Conflict Between Stakeholders ⚔
Different stakeholders may have different expectations, causing conflicts.
Example: A manager wants cost-effective software, but employees want more features
(which increase cost).
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
System Documentation :
System Documentation is a detailed written record of a software or system. It includes
all the necessary information, instructions, and guidelines about how the system
works, how to install it, and how to use it.
Think of it like a user manual for a smartphone – it tells you how to operate the
phone, its features, and troubleshooting steps. Similarly, system documentation helps
developers, users, and administrators understand the software/system.
Importance of System Documentation
📌 Helps developers understand the system structure and code.
📌 Guides new team members in working on the system without confusion.
📌 Assists users in operating the system correctly.
📌 Ensures maintenance and future updates can be done easily.
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
2. System Documentation 🖥
👉 It describes the overall structure, architecture, and working of the system.
👉 It includes information on how the system is designed and developed.
👉 Examples:
• System design documents (how different parts of the software work together)
• Flowcharts & Diagrams (to show system processes)
🔹 Example: A diagram that shows how a banking system processes transactions.
3. Technical Documentation ⚙
👉 It is for developers and IT professionals who maintain the system.
👉 It includes technical details like coding, APIs, and databases.
👉 Examples:
• Source code documentation (explaining how the program is written)
• Database design (tables, relations, and queries)
• API documentation (how different software components interact)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Follow U -s
R Download
R S I M TNotes
CLASSES WHATSAPP - 9795358008
: https://rzp.io/rzp/dhbqdFp
Software Engineering (BCS601)
Information Modeling :
Information modeling is a way to organize, structure, and represent data so
that it can be easily understood and processed by a system. It helps in
designing databases, software applications, and business processes.
There are several approaches to information modeling. Let's discuss them one
by one with easy examples.
Information Modeling
Relational Heirarchical
Model OOP model Model
2. Process
A process is an activity or function that takes input data, processes it, and produces
an output.
It represents a transformation of data from one form to another.
📌 Representation:
• Represented as a circle (or rounded rectangle).
• Each process has a unique number for identification.
Process
📌 Example:
In an online banking system, the process "Verify Login Details" takes username and
password as input, checks the credentials, and provides access or denial as output.
3. Data Flow
Data flow represents the movement of data between entities, processes, and data
stores.
It shows what information is flowing in the system.
This represents the movement of data between entities, processes, and data stores.
Example: "User sends login request," "Bank transfers money."
📌 Representation:
Represented as a directed arrow (→) in a DFD.
The name of the data flow is written above or beside the arrow.
📌 Example:
In a library management system, a data flow named "Book Request" moves from
Student (External Entity) → Issue Book (Process).
4. Data Store
• A data store is a place where data is stored for later use.
• It does not process data but simply holds it until needed.
• It can represent a database, file, or document.
📌 Representation:
Represented as two parallel horizontal lines or an open-ended rectangle.
📌 Example:
In a hospital management system, the "Patient Record Database" stores patient
details like name, medical history, and prescriptions.
Rules of DFD :
• Each process should have atleast one input and one output.
Example – Output
Input
Process
• Each data store should have atleast one data flow in and one data flow out.
In
Out
Example -
Example –
Process 2
Or
Process 1
Data store
• All the External entities must be connected through a process and entity can
provide something to the S/W as well as the entity can consume some data
from the S/W.
In
Name &
Author
Student LMS Librarian
0th Level
Get book Issued
Entity Entity
Process
Student
Issued by
Librarian
Book
Details
Book not Avl
Librarian
Book detail
Fig : 1th Level
📌 How it works?
• If an applicant has a job and a credit score > 700, the loan is approved (Rule 1).
• If the applicant has a job but a low credit score, the loan is not approved (Rule 2).
• If the applicant does not have a job, the loan is not approved (Rules 3 & 4).
📌 How it works?
1.If the applicant has a job, we check their
credit score.
2.If credit score > 700, the loan is approved.
3.If credit score ≤ 700, the loan is rejected.
4.If the applicant does not have a job, the loan
is rejected directly.
3. Goals of Implementation
• This section explains how the system will be implemented.
• It includes technologies, tools, and methods used in development.
• Example: The system will be built using Java, MySQL, and React.js.
• These parts ensure the software is developed correctly according to user
and business needs.
7. Verifiable
• Each requirement in the SRS document should be written in a way that it can be
checked and confirmed through testing or inspection.
• It should provide clear acceptance criteria to verify whether a requirement is met.
• Example: If a requirement states, "The system should load within 2 seconds," this
can be tested. But if it says, "The system should be fast," it is unclear and not
verifiable.
8. Unambiguous
• The requirements should be clear and precise so that they are understood the same
way by everyone (developers, testers, and stakeholders).
• There should be no room for different interpretations.
• Example: Instead of saying, "The system should support a large number of users," it
should specify, "The system should support up to 10,000 concurrent users."
Benefits of SQA -
• By using SQA, the quality of software will be high.
• If the software is high-quality software, then it saves our time & cost.
• Ease-of-use.
• Security.
2. Design Phase
📌 What happens here?
• The software's architecture and UI/UX design are created.
• The system's data flow, algorithms, and security are planned.
📌 SQA Activities:
✅ Review software design for consistency and security flaws.
✅ Ensure that coding standards are followed.
✅ Validate database and system integration design.
📌 SQA Activities:
✅ Implement code reviews and static code analysis.
✅ Enforce coding guidelines and best practices.
✅ Conduct unit testing to ensure components work properly.
4. Testing Phase
📌 What happens here?
• The developed software is tested to find and fix bugs.
• Different testing techniques are applied.
📌 SQA Activities:
✅ Conduct functional, non-functional, and security testing.
✅ Ensure that the software meets all client requirements.
✅ Report and fix defects found during testing.
🔹 What is Validation?
✅ Validation is the process of checking whether the final software meets user
needs and expectations.
👉 It focuses on the actual testing of the software to ensure that it works as
intended.
Examples of Validation:
• Running test cases to check if the software functions properly.
• Performing user acceptance testing (UAT) before deployment.
• Checking if an e-commerce website allows users to place orders successfully.
• 📌 Think of it as: "Are we building the right product?"
2. SQA Plan?
An SQA (Software Quality Assurance) Plan is a document that explains how to ensure
software quality during development. It provides rules, steps, and templates to help
software teams follow a standard process and avoid errors.
What Does an SQA Plan Include?
1. Project Planning
Decides timeline, budget, and team responsibilities for the project.
2. Software Design & Structure
Defines how data, classes, and objects will be organized in the software.
3. Software Requirements (SRS)
Lists all features and functions the software must have.
4. Testing Plan
Explains how the software will be tested to make sure it works correctly.
💡 ISO 9001 is the most commonly used standard in software companies because it ensures
software is developed systematically and meets quality requirements.
4. Process Approach
✔ The software development process should be organized and well-defined.
📌 Example: A software project follows the SDLC (Software Development Life Cycle):
Planning → Designing → Coding → Testing → Deployment.
5. Continuous Improvement
✔ Software companies should regularly update and enhance their software.
📌 Example: Apps like WhatsApp and Instagram release updates to fix bugs and add
new features.
6. Evidence-Based Decision Making
✔ Software companies should analyze data before making decisions.
📌 Example: Developers use bug tracking reports and performance analytics to
improve software.
7. Relationship Management
✔ Good communication with clients, software testers, and developers improves
quality.
📌 Example: A software company gathers customer feedback to improve future
versions of the software.
ISO CMM
Thank You…