0% found this document useful (0 votes)
3 views3 pages

Software Engineering Notes

The document is a comprehensive exam preparation guide for Software Engineering, covering key definitions, detailed concepts, and important frameworks such as CMMI and the Spiral Model. It addresses common software myths, differentiates between functional and non-functional requirements, and outlines the structure of a Software Requirements Document (SRD). The guide serves as a resource for understanding the systematic approach to software development and the essential components involved.

Uploaded by

Cha M
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views3 pages

Software Engineering Notes

The document is a comprehensive exam preparation guide for Software Engineering, covering key definitions, detailed concepts, and important frameworks such as CMMI and the Spiral Model. It addresses common software myths, differentiates between functional and non-functional requirements, and outlines the structure of a Software Requirements Document (SRD). The guide serves as a resource for understanding the systematic approach to software development and the essential components involved.

Uploaded by

Cha M
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software Engineering Notes

Comprehensive Exam Preparation Guide

Section A: Key Definitions (2-3 Marks)

1. Software Engineering
The systematic, disciplined, and quantifiable approach to the development, operation, and
maintenance of software.

2. Generic View of Software Process


A common framework of activities followed in all software projects:
• Communication: Requirements gathering.
• Planning: Task scheduling and resource estimation.
• Modeling: Design and architecture.
• Construction: Coding and testing.
• Deployment: Delivery and feedback.

3. CMMI (Capability Maturity Model Integration)


A process improvement framework that helps organizations improve development processes to
achieve higher quality, efficiency, and predictability.

4. Requirements Analysis
The process of gathering, analyzing, and defining user needs and system constraints for software
development.

5. Feasibility Study
Evaluation of whether a project is practical. Key aspects:
• Technical: Available technology and expertise.
• Economic: Cost vs. Benefit.
• Operational: Support and usability.
• Legal: Compliance and copyright.
Section B: Detailed Concepts (5 Marks)

1. Software Myths

Customer Myths: Requirements can be changed easily anytime. Reality: Changes late in the
cycle increase costs and delays significantly.

Developer Myths: The job is done once the code works. Reality: Maintenance and evolution
account for 60-80% of the software lifecycle.

Management Myths: Adding more people to a late project speeds it up. Reality: Communication
overhead actually slows it down (Brooks' Law).

2. Layered Technology

Software Engineering is viewed as a layered technology:

• Quality Focus: The foundation and organizational commitment to quality.


• Process: The glue that holds layers together; defines the framework.
• Methods: Provide technical "how-to's" for building software.
• Tools: Automated support for process and methods (CASE tools).

3. Spiral Model & Risk Analysis

An evolutionary model that couples iterative nature with systematic risk assessment. Phases:
Planning, Risk Analysis, Engineering, and Evaluation. Risk Analysis involves identifying and
mitigating technical or budget risks before they become issues.

4. Functional vs Non-Functional Requirements

Type Focus Example

Functional System behavior/services "User can generate a PDF report."

Non-Functional System qualities/constraints "The report must generate within 5 seconds."


5. User vs System Requirements

Aspect User Requirements System Requirements

Language Natural Language Technical Specifications

Audience End-users, Managers Developers, Testers

Level High-level goals Detailed descriptions

6. Software Requirements Document (SRD)

The SRD is the official statement of system requirements. It includes an Introduction, Overall
Description, Functional/Non-functional details, and System Models. It serves as a baseline for
validation and a contract between client and developer.

Software Engineering Study Notes | Created for Educational Use

You might also like