Flashcards - FSE Week 6 Computer Sciences Study Set

1
Q

What is software engineering?

A

Software engineering is an engineering discipline concerned with all aspects of software production, from early system specification 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

What are generic products in software?

A

Generic products are stand-alone systems marketed and sold to any customer, such as PC software for graphics or project management tools.

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

What is the primary activity of software specification?

A

Software specification involves defining the software that is to be produced and the constraints on its operation.

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

Which application type runs on a local computer and does not require a network?

A

Stand-alone applications run on a local computer and include all necessary functionality without needing a network.

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

What is software reuse?

A

Software reuse is the dominant approach for constructing web-based systems by assembling them from pre-existing software components.

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

What are the four basic process activities in software engineering?

A

Specification, development, validation, and evolution are the four basic process activities in software engineering.

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

What is the primary disadvantage of the waterfall model in software development?

A

The main drawback of the waterfall model is the difficulty of accommodating changes after the process is underway.

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

What does agile-incremental development emphasize?

A

Agile-incremental development emphasizes delivering small, incremental software changes rapidly, while continuously evaluating requirements.

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

What are the main reasons for using a prototype in software development?

A

Prototypes are used for demonstrating concepts, trying out design options, and improving requirements elicitation and validation.

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

What is testing in the context of software validation?

A

Testing involves executing the system with test cases derived from the specification to ensure it meets the requirements of the customer.

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

What is the purpose of requirements validation?

A

Requirements validation checks the validity of the requirements to ensure they meet the stakeholders’ needs and expectations.

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

What is the role of debugging in software implementation?

A

Debugging is the activity of finding and correcting program faults during the software implementation process.

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

What does validation in software engineering involve?

A

Validation involves verifying that the software conforms to its specification and meets the needs of the customer through testing.

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

What is a plan-driven process in software engineering?

A

A plan-driven process is where all process activities are planned and progress is measured against this plan.

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

What issues can affect software development due to heterogeneity?

A

Heterogeneity leads to challenges in ensuring that systems operate as distributed systems across different types of computers and devices.

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

What is the primary focus of architectural design in software?

A

Architectural design focuses on identifying the overall structure of the system and the relationships between its principal components.

17
Q

What happens during system testing?

A

System testing involves testing the system as a whole to ensure it meets the required specifications and behaves correctly under various conditions.

18
Q

What are interactive transaction-based applications?

A

Interactive transaction-based applications execute on a remote computer and are accessed by users from their own PCs, such as web applications.

19
Q

What is the significance of process models in software engineering?

A

Process models provide an abstract representation of a software process, describing it from particular perspectives and aiding in understanding how to organize activities.

20
Q

What are the benefits of incremental development?

A

Benefits include easier accommodation of changing requirements, quicker customer feedback, and more rapid delivery of useful software.

21
Q

What is requirements engineering?

A

Requirements engineering is the process of establishing what services are required and the constraints on the system’s operation and development.