Software Engineering Flashcards

1
Q

What is software engineering?

A

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software, and the study of these approaches.

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

What is the purpose of software engineering?

A

The purpose of software engineering is to offer codified methods that constrain the creativity of the practitioner so that what is built has some likelihood of working and being safe.

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

Why are codified methods important in software engineering?

A

Codified methods provide a clear route to guaranteed and repeatable success in software development, operation and maintenance.

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

What are the challenges for software engineering in delivering large software projects?

A

The challenges include delivering the project on cost, on time, with quality, ensuring safety, security, functionality for the end-user, and maintainability.

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

Why is software engineering important in developing software?

A

: Software engineering provides a systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software. It helps in ensuring the software is reliable, efficient, and safe.

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

What is the purpose of codified methods in software engineering?

A

Codified methods provide a clear and systematic approach to developing software, which helps in ensuring that the software is safe, reliable, and efficient. It also helps in delivering the project on time and within the allocated budget.

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

What is the role of software engineering in ensuring software security?

A

Software engineering helps in developing software that is secure and protects against unauthorized access, theft, or damage. This is done by following best practices in coding, testing, and maintaining the software.

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

Why is maintainability an important aspect of software engineering?

A

Maintainability ensures that the software can be updated, modified, and improved over time. This is important as software needs to adapt to changing requirements and environments. A software that is difficult to maintain can lead to increased costs and reduced efficiency.

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

What disciplines intersect in software engineering?

A

Psychology, management, economy, engineering, and computer science intersect in software engineering.

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

What is a Software Development Model (SDM) or Software Life-Cycle (SLC)?

A

It is a structure imposed on the development of a software product, describing the approaches to a variety of tasks or activities that take place during the process.

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

What are the tasks or activities described by Software Development Models?

A

The tasks or activities described by Software Development Models vary depending on the model, but can include requirements gathering, design, coding, testing, and maintenance.

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

What is the purpose of Software Development Models?

A

The purpose of Software Development Models is to provide a framework for software development that can help ensure a successful outcome.

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

What are some examples of Software Development Models?

A

Some examples of Software Development Models include Waterfall, Agile, and Spiral.

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

What is the Waterfall Model?

A

The Waterfall Model is a sequential software development model in which each phase of the software development process must be completed before the next phase can begin.

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

What is Agile?

A

Agile is an iterative and incremental approach to software development that emphasizes flexibility and customer satisfaction.

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