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

Software Engineering Notes

Uploaded by

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

Software Engineering Notes

Uploaded by

erinpatel54
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1

Software Engineering Notes

1. Introduction to Software Engineering

 Software: A collection of programs that perform tasks on a computer.


 Software Engineering: A systematic approach to software development,
maintenance, and management.
 Software Development Life Cycle (SDLC): The process of planning, creating,
testing, and deploying software. Phases:
1. Requirements Analysis
2. Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance

2. Software Development Models

 Waterfall Model: Linear and sequential.


 Agile Model: Iterative and incremental. Encourages collaboration, flexibility, and
customer feedback.
 V-Model: Extends the waterfall model with validation and verification stages.
 Spiral Model: Focuses on risk analysis and iterative development.

3. Software Design

 Design Patterns: Reusable solutions to common problems. Examples: Singleton,


Factory, Observer.
 UML (Unified Modeling Language): A standard way to visualize the design of a
system.
o Class Diagram: Represents the structure of a system.
o Sequence Diagram: Shows interactions between components over time.
 Modularity: Dividing a system into smaller, manageable components.

4. Testing

 Unit Testing: Testing individual components or modules.


 Integration Testing: Ensuring different modules work together.
 System Testing: Testing the complete system.
 Acceptance Testing: Verifying the software meets the requirements.
 Automated Testing: Using tools like Selenium for repetitive tasks.

5. Software Maintenance

 Corrective Maintenance: Fixing bugs and issues.


 Adaptive Maintenance: Updating the software to run in new environments.
 Perfective Maintenance: Enhancing software performance.
 Preventive Maintenance: Anticipating future issues and improving software.

You might also like