Slide 1 Flashcards
What is software engineering?
Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use
Are there universal implementation methods? What does the implementation method depend on?
There are no universal software engineering methods. Implementation depends on the organization developing the software, the type of software and the people involved in the process
What is software development processes?
Set of related activities that lead to the production of a software product
What are the main development activities?
- Specification
- Design and implementation
- Validation
- Evolution
How are requirements in plan-driven development?
Stable requirements
Plan-driven (or heavy-weight)
How are incremental development?
Quick delivery
Changing, unpredictable requirements
Agile (or lightweight)
What are the agile principles?
- Frequent releases of the product
- Continuous interaction between dev. Team and customer
- Reduced product documentation
- Continuous and systematic assessment of produced value and risks
How is agile in practice?
- Make a list of feat/req
- Estimate how long it’s going to take
- Set priorities
- Start executing
- Update the plan @runtime
What is requirement?
- A need perceived by a stakeholder
- A capability or property that a system shall have
- A documented presentation of a need, capability or property
What is requirement specification?
A systematically represented collection of requirements, typically for a system or component
How do agile projects express requirements?
Agile projects frequently don’t produce a comprehensive requirement specification, instead they express requirements in :
• user stories, issues, storyboards, acceptance criteria associated with user stories, etc
• a vision document
• implicit shared understanding among the people involved
What is requirement engineering?
A systematic approach for specification and management of requirements with the following goals :
• Knowing the relevant requirements, achieving a consensus among the stakeholders about these requirements, documenting them according to given standards, and managing them systematically
• understanding and documenting the stakeholders’ desires and needs
• specifying and managing requirements to minimize the risk of delivering a system that does not meet the stakeholders’ desires and needs
Why do RE?
Lower cost - reduce error and rework cost
Manage risk - meet stakeholders’s desires and needs
- reliable estimates for deadlines and cost
Who is the customer?
Stakeholder : A person or organization that has a (direct or indirect) influence on the systems’s requirements.
Indirect influence also includes situations where a person or organization is impacted by the system
What are functional requirements?
Prescribe what services the software-to-be should provide