Software Engineering Flashcards

1
Q

Definition of Software Engineering

A

Software Engineering is the application of engineering to develop quality software in a
cost-effective way to meet the target objective.

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

Definition of Software Modeling

A

Theory and methods for specifying software requirements and
design

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

Definition of Software Development Methodology

A

Methods for developing software

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

Definition of Software Security

A

Implement and audit security defense in software systems (most
of the security attacks exploit on software vulnerabilities)

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

Definition of Software Reuse

A

Methods for reusing software

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

Definition of Software Testing

A

Theory and methods for testing software

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

Definition of Software Economics

A

Theory and methods for estimating resources and costs of
software development, etc

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

Definition of Software Process

A

A process is defined as a collection of activities when some work product is to be to created.
Each activity is populated by a set of actions. Each action is defined by a set of tasks to
complete the work products and other associated achievement

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

In general, software processes comprises the following types of activities

A

1.Communication: project initialization; requirements capture
2.Planning: plan technical tasks, resources, work products, work schedule; analyze risks
3.Modeling: requirements analysis, design
4.Construction: coding, testing
5.Deployment: software delivery, evaluation and feedback.

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

Name Process Models

A

Waterfall Model
Incremental Model
Evolutionary Model

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

Name Waterfall Model Process

A

Communication
Planning
Modeling
Construction
Deployment

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

What is Waterfall Model Suitable for?

A

Well-defined requirements
Adequate resources
Project teams have good expertise/experience on the system
Systems are not too large or complex
There is no urgent need on any part of the system

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

Name The Incremental Model Process

A

Communication
Planning
Modeling
Construction
Deployment

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

What is Incremental Model Suitable for?

A

Requirements are reasonably well-defined, but the overall scope of the
development effort precludes a purely linear, waterfall process.

Compelling need to provide a limited set of software functionality to users
quickly and then refine and expand on that functionality in later software
releases

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

What are the two sub-models of Evolutionary models

A

Prototyping
Spiral

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

What is Prototyping Suitable for?

A

Small systems
User-interface intensive
Unclear requirements
Lack of expertise/experience

17
Q

What is The Spiral Suitable for?

A

Large scale systems with unclear requirements
Complex requirements
High risk cases