Intro Flashcards
What is Software Engineering?
It refers to the process of designing and creating software, including requirement analysis, software architecture design, implementation, testing, and maintenance.
What is the goal of Software Engineering?
To produce software that meets user needs, performs efficiently, and is easy to maintain and scale.
What does SDLC stand for?
Software Development Life Cycle.
What are the key phases in the SDLC?
- Requirement Analysis
- Design
- Implementation
- Testing
- Deployment and Maintenance
What is Requirement Analysis?
Understanding what the software needs to do and gathering detailed requirements to ensure that the solution will meet all user needs.
What is the purpose of the Design phase in SDLC?
Creating a blueprint for the software, including architecture, UI/UX design, and system integrations.
What happens during the Implementation phase?
Writing the actual code for the software based on the design.
What is the importance of Testing in software engineering?
Verifying that the software works as intended and meets quality standards.
What are the models in SDLC?
- Waterfall Model
- Incremental Model
- Spiral Model
What is an SRS document?
A detailed description of the software’s functionality, constraints, and interfaces, guiding developers and stakeholders.
Why is an SRS document important?
It serves as a guide for understanding the project scope, similar to having clear requirements before building a house.
What are the key aspects of Software Project Management?
- Estimation
- Risk Analysis
- COCOMO Model
What is the COCOMO Model?
A popular model for estimating the cost, effort, and time required for software development.
What do Coupling and Cohesion refer to in software design?
- Coupling: How different modules in the software interact with each other
- Cohesion: How well the components of a module work together
What are UML Diagrams used for?
To visually represent the system design, helping in designing software efficiently.
What is the coding process in software engineering?
- Implementation: Translating the design into code
- Collaboration: Following coding standards and effective communication among team members
What is Unit Testing?
Testing individual components or functions in isolation to ensure they work correctly.
What is Integration Testing?
Verifying that different components of the software work together as expected.
What is System Testing?
Testing the entire system to ensure it meets the specified requirements.
What is the difference between White Box and Black Box Testing?
- White Box Testing: Focuses on the internal workings of the software
- Black Box Testing: Concerned with the software’s external behavior
What is the importance of Maintenance in software engineering?
- Bug Fixes and Updates
- Long-Term Support
What does Quality Management in software engineering involve?
- ISO Certification
- Reusability
How does Reusability benefit software development?
Reusing software components or entire systems can save significant time and effort in new projects.
What is the overarching goal of Software Engineering?
To create efficient, reliable, and scalable software solutions for various applications.