Lecture 2 - Introduction Flashcards

(12 cards)

1
Q

What is Software Crisis

A

A period in the history of software development when the industry faced significant challenges and difficulties in creating and maintaining software systems.

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

What is Software Development

A

A systematic process that outlines the phases a software project goes through from its initiation to its completion and maintenance.

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

Core Tasks of software development?

A

Analysis → Design → Construction → Test → Deliver

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

What is reference architecture?

A
  • a set of key decisions applied across multiple related systems in the same domain (e.g., healthcare, banking).
  • standard framework for consistency, efficiency, and reliability.
  • Includes points of variation, allowing for customization to meet specific system requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are design decisions?

A
  • choices made during the creation or planning phase of a system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Principal vs Temporal Design Decisions?

A
  • Principal: critical choices that affects overall architecture / behavior
  • Temporal: These involve time-based choices that can change or evolve over the system’s lifespan.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are stakeholders?

A
  • individuals/groups interested in OR impacted by the development and deployment of a system architecture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Requirements Engineering?

A
  • process of gathering, documenting, analyzing, prioritizing, validating, and managing requirements
  • Goal: ensure the project meets stakeholder needs while minimizing risks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are software requirements?

A
  • specifications that define what a software system should accomplish and how it behaves
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

2 types of Basic requirements?

A
  • Functional: describe specific tasks the system must PERFORM
  • Non-Functional: describe behaviors/CHARACTERISTICS (usability, security, availability)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

User Stories vs Use Cases?

A
  • User Stories: short and simple descriptions of a feature from POV of customer (informal)
  • Use Cases: identify, clarify, and organize requirements (has steps)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Requirements Prioritization

A

MO → S → CO → W
Must → should → could → would

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