Professional Documents
Culture Documents
2 - Short Notes by (
www.techbloop.com )
Table of Contents
UNIT - 1
Introduction
Introduction to Software Engineering:
Importance of Software Engineering as a Discipline:
Software Applications:
Software Crisis:
Software Processes & Characteristics:
Software Life Cycle Models:
Waterfall Model:
Prototype Model:
Evolutionary Model:
Spiral Model:
Software Requirements Analysis & Specifications
Requirement Engineering:
Functional and Non-Functional Requirements:
User Requirements and System Requirements:
Requirement Elicitation Techniques:
Requirements Analysis using DFD, Data Dictionaries & ER Diagrams:
Requirements Documentation:
Nature of SRS (Software Requirements Specification):
Characteristics & Organization of SRS:
Requirement Management:
IEEE Std. for SRS:
UNIT - 2
UNIT - 1
Introduction
Software Applications:
Categorized into system software, application software, and embedded software.
Software Crisis:
Refers to challenges in software development like cost overruns and missed
deadlines.
Waterfall Model:
Sequential phases: requirements, design, implementation, testing, deployment,
and maintenance.
Prototype Model:
Develops a working prototype early for stakeholder feedback.
Evolutionary Model:
Iterative approach with cycles adding functionality and improvements.
Spiral Model:
Combines elements of Waterfall and Evolutionary models.
Multiple cycles with planning, risk analysis, engineering, testing, and evaluation.
Requirement Engineering:
Requirement engineering is the process of eliciting, analyzing, documenting, and
managing software requirements.
It is a critical phase to ensure that the software developed meets the needs and
expectations of the stakeholders.
Data dictionaries define data elements and their attributes in the system.
Requirements Documentation:
Requirements must be documented to ensure clarity and manage changes.
Requirement Management:
Requirement management involves tracking, prioritizing, and handling changes
to requirements.
It ensures that the software continues to meet stakeholder needs throughout the
project.
These notes cover the key aspects of software requirements analysis and
specifications. If you need further explanations, examples, or details on any specific
point, please feel free to ask.
Lines of Code (LOC): This measures the size of the software in terms of
lines of code to be written.
Function Count: Measures the size based on the number and complexity of
functions or modules.
Each mode uses a set of parameters to estimate the effort, cost, and duration.
It considers factors like team size, productivity, and the project's complexity.
Risk Management:
Risk management is the process of identifying, assessing, and mitigating risks in
a software project.
Software Design
Classification of Cohesiveness:
Cohesion can be classified into several levels, including:
Classification of Coupling:
Coupling can be classified into various levels, including:
Function-Oriented Design:
Function-oriented design focuses on decomposing a system into smaller
functions or modules.
Each module is responsible for a specific function or subtask within the system.
Object-Oriented Design:
Object-oriented design organizes software around objects, which encapsulate
data and behavior.