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.