Slide 1 Flashcards

1
Q

What is software engineering?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Are there universal implementation methods? What does the implementation method depend on?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is software development processes?

A

Set of related activities that lead to the production of a software product

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the main development activities?

A
  • Specification
  • Design and implementation
  • Validation
  • Evolution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How are requirements in plan-driven development?

A

Stable requirements

Plan-driven (or heavy-weight)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How are incremental development?

A

Quick delivery
Changing, unpredictable requirements

Agile (or lightweight)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the agile principles?

A
  • 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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How is agile in practice?

A
  1. Make a list of feat/req
  2. Estimate how long it’s going to take
  3. Set priorities
  4. Start executing
  5. Update the plan @runtime
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is requirement?

A
  • A need perceived by a stakeholder
  • A capability or property that a system shall have
  • A documented presentation of a need, capability or property
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is requirement specification?

A

A systematically represented collection of requirements, typically for a system or component

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How do agile projects express requirements?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is requirement engineering?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Why do RE?

A

Lower cost - reduce error and rework cost
Manage risk - meet stakeholders’s desires and needs
- reliable estimates for deadlines and cost

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Who is the customer?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are functional requirements?

A

Prescribe what services the software-to-be should provide

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are non-functional requirements?

A

Constrain how such services should be provided

17
Q

What are the 8 basic principle of RE?

A
  1. Stakeholders
  2. Problems, requirement & solutions
  3. Value-orientation
  4. Shared understanding
  5. Validation
  6. Evolution
  7. Innovation
  8. Systematic work
18
Q
  1. Stakeholders - consensus & variability

Requirement engineering implies?

A

Viewpoint and needs of different stakeholders may conflict

  1. Discovering conflicts and inconsistencies
  2. Negotiating
  3. Moderating
  4. Consensus finding
    - but also determine where variability is needed
19
Q
  1. Problems, requirements & solutions

What is the traditional requirement?

A

Traditional requirement is the waterfall
Start with complete specification of reqs - design & implementation solution
( does not work in most cases )

Specification and implementation are inevitably intertwined

  • hierarchal intertwined : high-level design inform lower-level reqs
  • technical feasibility : non-feasible requirements are useless
  • validation : what you see is what you require