Chapter 1 Introduction to software engineering Flashcards

1
Q

What is software

A

Computer programs and associated documentation

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

For whom may software products be developed

A

a particular costumer
the general market

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

Types of software

A

Custom
Generic
Embedded
Real time software
Data processing software
(Some software systems have both real time and data processing aspects)

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

Embedded software

A

Built into the hardware
Hard to change

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

Generic software

A

Sold on open market
Often called: COTS (commercial off the shelf), Shrink-wrapped

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

Real time software

A

Must react immediately
Safety is often a concern

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

Data processing software

A

Used to run businesses
Accuracy and security of data are key

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

What is software engineering

A

The process of solving costumers’ problems by the systematic development and evolution of large, high-quality software within cost, time and other constraints

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

Differences among custom, generic and embedded software

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

Difference between software engineering and computer science

A

Computer science: concerned with theories/fundamentals, not practicalities.
Software engineering: concerned with all aspects of computer systems, including hardware, software processes

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

Nature of sofware

A

Intangible
Reproducible
Labor intensive
Modifiable
High/rising demand

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

Generic activities in all software processes

A

Specification
Development
Validation
Evolution

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

Specification

A

what the system should do and its development constraints

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

Development

A

Production of the software system

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

Validation

A

Checking that the software is what the costumer wants

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

Evolution

A

Changing the software in response to changing demands

16
Q

Types of software engineering projects

A

Most projects are evolutionary or maintenance projects
- Corrective : fix problems
- Adaptive : support, update
- Enhancement : add features
- Reengineering (perfective): internal cleanup

17
Q

Project stakehloders

A

Users
Customers
Software developers
Development managers

18
Q

Difficulties and risks of software engineering

A

Many complex details
Uncertain requirements
Constant change
Uncertainty about technology
Uncertainty about software engineering skills

19
Q

Software Qualities

A

Usability

Reusability

Reliability

Efficiency

Maintainability

20
Q

CASE

A

Computer aided software engineering
The use of computer-based support in the software development process

21
Q

Examples of CASE

A

JDeveloper
Visual Studio
iUML

22
Q

What are the costs of software development

A

Roughly 60% development
40% testing

23
Q

Internal software qualities

A

Characterize aspects of the design of the software
Have an effect on the external quality attributes
Example:
The amount of commenting of the code
The complexity of the code
(Reusability)

24
Q

Arranged activities to form a general software process model

A
  1. Specification
  2. Design
  3. Manufacture
  4. Test
  5. Install
  6. Maintain