Reviewer Flashcards

(28 cards)

1
Q

What is software engineering?

A

An engineering discipline that focuses on the design, development, maintenance, and management of software systems.

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

List key attributes of software.

A
  • Maintainability
  • Dependability & Security
  • Efficiency
  • Usability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the types of software?

A
  • Stand-alone applications
  • Embedded systems
  • Interactive systems
  • Batch processing systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a software process?

A

A sequence of activities that leads to the development of a software product.

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

Describe the Waterfall Model.

A

A linear and sequential process with clear phase completion before moving to the next; best for projects with well-defined requirements.

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

What is a disadvantage of the Waterfall Model?

A

Difficult to adapt to changes.

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

Describe the Agile Model.

A

An iterative, incremental development model that focuses on collaboration and flexibility.

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

What is Scrum in Agile development?

A

An Agile framework that uses short sprints for incremental development and encourages daily stand-up meetings.

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

What is DevOps?

A

A practice that combines software development and IT operations, emphasizing automation, integration, and continuous deployment.

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

What does agility in software development mean?

A

The ability to respond to change quickly and efficiently.

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

List some Agile methodologies.

A
  • Scrum
  • Kanban
  • Extreme Programming (XP)
  • Feature-Driven Development (FDD)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Name an Agile project management tool.

A
  • Jira Software
  • ClickUp
  • Mural
  • GitHub
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is requirements engineering?

A

A structured approach to defining what a system must do before development begins.

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

List key activities in requirements engineering.

A
  • Elicitation
  • Analysis
  • Specification
  • Validation
  • Management
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the purpose of elicitation in requirements engineering?

A

Gathering requirements through interviews, surveys, and observations.

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

What is the Software Requirements Specification (SRS)?

A

A document that specifies clear and structured requirements.

17
Q

Name common techniques for eliciting requirements.

A
  • Interviews
  • Surveys & Questionnaires
  • Observation & Job Shadowing
  • Prototyping
18
Q

Define ‘Actors’ in use cases.

A

Users or systems interacting with software.

19
Q

What are Preconditions in use cases?

A

Requirements that must be met before execution.

20
Q

What is the Main Flow in use cases?

A

Step-by-step process for completing a task.

21
Q

What are Alternate Flows in use cases?

A

Different variations in process execution.

22
Q

What are Exceptions in use cases?

A

Error handling scenarios.

23
Q

What is scenario-based modeling?

A

Describes how users will interact with a system under different conditions.

24
Q

List UML models for requirement analysis.

A
  • Use Case Diagrams
  • Entity-Relationship Diagrams (ERDs)
  • Flowcharts
  • State Diagrams
25
What are the key benefits of requirements modeling?
* Enhances user-centered design * Provides clear visual representations of system behavior * Identifies potential usability and technical challenges early
26
True or False: Agile development methodologies promote rigid processes.
False
27
Fill in the blank: A structured approach to defining what a system must do before development begins is known as _______.
[requirements engineering]
28
What is the main goal of understanding software engineering processes, agile development methodologies, and requirements engineering?
To create efficient and reliable software.