1/21
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Why do software products fail?
Systems are complex, requirements change often, and proper engineering methods are not used.
What are the attributes of good software?
Functional, reliable, usable, maintainable, and dependable.
Key challenges in software engineering?
System diversity, short deadlines, and need for trustworthy, high-quality systems.
What are the costs of software engineering?
About 60% development, 40% testing; maintenance often costs more over time.
Software process activities?
Specification, development, validation, and evolution.
Difference between plan-driven and agile?
Plan-driven is structured and slow; Agile is flexible and fast with feedback.
What are software process models?
Waterfall (sequential), Incremental (in parts), and Integration/Configuration (reuse components).
Functional vs Non-Functional requirements?
Functional = what system does; Non-functional = how it performs.
User vs System requirements?
User: simple for clients; System: detailed for developers.
Phases of requirement engineering?
Elicitation, analysis, specification, validation, and management.
Fact-finding techniques?
Interviews, questionnaires, observation, document review, workshops.
Non-functional requirement classification?
Product (performance), Process (standards), External (legal/security).
Problems with natural language requirements?
Lack of clarity, confusion, overlapping statements.
What is a use case?
A description of how users interact with the system to achieve a goal.
Components of a use case?
Actors, use cases, and relationships (includes/extends).
Use case representation?
Diagram of actors + interactions; Template includes name, actors, steps, and results.
UML design models?
Class (structure), Sequence (interactions), and State (state changes).
Development - standards, cohesion, coupling, refactoring?
Standards = rules; Cohesion = unity; Coupling = independence; Refactoring = improve code without changing behavior.
Testing basics?
Ensures software works; Types: Unit, Integration, System, Acceptance; Terms: bug, test case, regression.
Describe the state model.
Shows how an object changes states based on events.
Washing machine state model example?
Off → Ready → Washing → Rinsing → Spinning → Done; transitions by start and completion events.