1. What is software engineering?
Software engineering is the systematic application of engineering
approaches to the development, operation, and maintenance of
software. It involves methodologies, tools, and practices to ensure
software is reliable, efficient, and meets user needs.
2. Define RAD model.
The Rapid Application Development (RAD) model emphasizes quick
development and delivery of high-quality software. It uses iterative
prototyping and focuses on user feedback to refine requirements
and functionalities rapidly.
3. Define agile method.
Agile is a software development approach emphasizing iterative
progress, collaboration, and adaptability. It promotes delivering
small, incremental changes rather than a complete product at once.
4. What is agile?
Agile is a flexible and adaptive framework for software development
that values customer collaboration, responding to change, and
delivering functional software frequently.
5. Mention any four agile principles.
•Customer satisfaction through continuous delivery.
•Welcoming changing requirements.
•Delivering working software frequently.
•Promoting collaboration between developers and stakeholders.
6. Define domain prerequisite.
Domain prerequisites refer to the knowledge, concepts, and
terminologies of a specific domain or field required to understand
and solve related problems effectively.
7. Define functional and non-functional requirements.
Functional requirements specify what the system should do, like
features and behaviors.
Non-functional requirements focus on system performance, security,
usability, and other qualities.
8. Define requirement elicitation.
Requirement elicitation is the process of gathering, identifying, and
understanding user needs and expectations to define system
requirements.
9. Define aggregation.
Aggregation is a relationship in object-oriented design where one
object is a collection or container of other objects, representing a
"has-a" relationship.
10. Define architectural view.
An architectural view describes a specific aspect of a system's
architecture, such as logical, physical, or deployment, to provide
clarity and organization.
11. Define state diagram.
A state diagram represents the states and transitions of an object
or system. It shows how the system behaves in response to events.
12. Define UML.
Unified Modeling Language (UML) is a standardized modeling
language used to visualize, specify, construct, and document
software system designs.
13. Define repository architecture.
Repository architecture is a design style where a central data
repository stores shared information, and multiple components
interact with it.
14. What is a structural design model?
The structural design model focuses on defining the components,
modules, and relationships of a system to represent its static
structure.
15. Define DFD (Data Flow Diagram).
A DFD is a graphical representation of data flow through a system,
illustrating inputs, processes, outputs, and storage points.
16. What is an activity diagram?
An activity diagram in UML represents the flow of control or
activities within a system, showing decisions, parallel processes,
and dependencies.
17. What is meant by design pattern?
A design pattern is a reusable solution to a common design problem
in software engineering, providing a standard template for solving
similar issues.
18. What is MVC?
Model-View-Controller (MVC) is an architectural pattern separating
an application into three components:
Model: Manages data.
View: Displays data.
Controller: Handles user interaction.
19. Define unit testing.
Unit testing involves testing individual components or modules of a
software system to ensure they work as intended in isolation.
20. Define system testing.
System testing evaluates a complete and integrated system to
ensure it meets specified requirements and works as expected.
21. Difference between alpha and beta testing.
•Alpha testing: Conducted in-house by developers or QA teams
before release.
•Beta testing: Performed by external users to identify real-world
issues before the final release.
22. What are types of release testing?
•Smoke testing: Verifies basic functionality.
•Sanity testing: Checks fixes and changes.
•Regression testing: Ensures new changes do not affect existing
functionality.
•Acceptance testing: Validates the software against user
requirements.