0% found this document useful (0 votes)
8 views

Detailed Notes Software Engineering

Uploaded by

Ahetisam Malek
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Detailed Notes Software Engineering

Uploaded by

Ahetisam Malek
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Detailed Notes: Software Engineering Important Topics

Software Process Models

1. Incremental Model: Develops software in increments with each providing functionality.

Advantages: Manages risk effectively, delivers partial systems quickly.

Disadvantages: Needs well-defined architecture early on.

2. Spiral Model: Combines iterative nature with risk analysis.

Advantages: Strong risk management focus.

Disadvantages: Can be complex and costly.

3. Agile Model: Emphasizes flexibility, collaboration, and customer feedback.

Advantages: Quick iterations, responsive to change.

Disadvantages: Requires constant communication.

Requirement Engineering

1. Tasks:

- Requirement elicitation: Gathering user needs.

- Requirement analysis: Evaluating needs for feasibility.

- Documentation: Creating Software Requirement Specification (SRS).

- Validation: Ensuring requirements meet user needs.

2. SRS Example:

Functional: 'System shall allow user login.'

Non-functional: 'System shall respond in under 2 seconds.'

Design Principles

1. Modularity: Divide the system into manageable modules.


2. Coupling: Minimize interdependence between modules.

3. Cohesion: Ensure a single, well-defined purpose for each module.

4. Architectural Design: High-level structure organizing software components.

Software Testing

1. Black Box Testing: Focuses on inputs and outputs without knowing internal logic.

2. White Box Testing: Tests internal structures using code knowledge.

3. Boundary Value Analysis: Tests edge cases.

4. Equivalence Partitioning: Divides input into valid/invalid regions for testing.

DevOps

1. Importance: Bridges gaps between development and operations teams.

2. Lifecycle:

- Plan, Develop, Build, Test, Release, Deploy, Operate, Monitor.

3. Benefits: Faster delivery, improved collaboration, and automation.

4. Challenges: Cultural shifts, tool integration, and training requirements.

Software Quality Assurance (SQA)

1. Six Sigma: Process improvement methodology to enhance quality.

2. Capability Maturity Model (CMM):

- Levels: Initial, Managed, Defined, Quantitatively Managed, Optimizing.

3. Metrics: Defects per KLOC (thousand lines of code), customer satisfaction index.

Software Maintenance and Reengineering

1. Types of Maintenance:

- Corrective: Fixing bugs.

- Adaptive: Updating for environment changes.

- Perfective: Enhancing performance.

- Preventive: Preparing for future issues.


2. Reengineering:

- Reverse engineering: Understanding existing code.

- Forward engineering: Enhancing functionality.

Project Management

1. Scheduling Techniques:

- Gantt Chart: Visual timeline for tasks.

- Critical Path Method (CPM): Identifies task sequences.

2. Risk Management:

- Identification, Analysis, Mitigation.

3. Resource Allocation: Efficient utilization of human and technical resources.

You might also like