Lecture 2: Software and Software Engineering Flashcards

1
Q

What is software?

A

Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system

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

What are some traits of software?

A

Intangible: Hard to understand the development effort required.
Reproducible: Cost is in development
Labor-Intensive: Difficult to automate
Does not ‘wear out’: Deteriorates by having its design changed

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

What are some types of software?

A

Applications: Business, CAD, databases, spreadsheets, video games, compilers, etc.
System: OS, device drivers, etc.
Embedded: Firmware and microcode
Real time: Control and monitoring, often safety critical

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

What are some types of software development?

A

Custom: For a customer
Generic: Sold on open market
Embedded: Tied closely to hardware

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

What is software engineering?

A

IEEE: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, maintenance of software; that is, the application of engineering to software. (2) the study of approaches as in (1)

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

What is the goal of software engineering?

A

To solve problems within cost, time, customer, and others

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

How do engineers approach development?

A

An engineering process involves applying well-understood, standardized techniques in an organized and disciplined way. Most development is evolutionary.

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

What are some ways in which software engineering differs from other disciplines?

A

Foundations in CS, not natural sciences
Focus on discrete rather than continuous mathematics
Focus on abstract entities instead of physical artifacts
No ‘manufacturing’ phase
‘Maintenance’ refers to continued development, or evolution, not wear and tear

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

What are some ways in which software engineering is similar to other disciplines?

A

Series of decisions and trade-off analysis conducted
Work quantitatively, calibrate measurements and use approximations based on experience and data
Emphasize a disciplined process, operate effectively as a team
Use tools to apply processes systematically
Advance the field through professional societies

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