Software Engineering Overview Flashcards

1
Q

Difference Between

Computer Science

and

Software Engineering

A

Computer Science is concerned with

Theory and Fundamentals.

Software Engineering is concerned with USING the concepts of CS to implement solutions to real world problems.

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

What is

Software?

A

An executable Computer Program

AND

The associated Documentation that describes operation and use of the program

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

What is

Software Engineering?

A

The application of specific

Theories, Methods and Tools

for the development of high quality software

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

“Layers”

of

Software Engineering

A
  • “Quality” Focus
    • Process Model
      • Methods
        • Tools
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ACM/IEEE-CS

8 Ethical Principles of Software Engineers:

Who/What to Respect

(Corresponding to each rule)

A
  • Public
  • Client/Employer
  • Product
  • Personal Judgement/Conscience
  • Managers/Leaders
  • The Profession of Software Engineering
  • Colleagues
  • Your Self
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Attributes of

Good Software

A
  • Provides all required functionality
  • Meets required performance
  • Maintainable
  • Dependable
  • Usable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Fundamental Ideas

of Software Engineering (4)

A

Process

Dependability

Requirements

Reuse

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

Fundamental Ideas

of Software Engineering:

Process

A

Process

Use a managed and understood development process

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

Fundamental Ideas

of Software Engineering:

Dependability

A

Dependability

Software should behave as expected,

be safe, secure, efficient and rarely fail

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

Fundamental Ideas

of Software Engineering:

Requirements

A

Requirements

Software should meet the requirements/specifications it is designed for.

(Unreasonable requirements should be a no-go)

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

Fundamental Ideas

of Software Engineering:

Reuse

A

Reuse

Software should make effective use of existing resources and reuse existing software when possible

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

Essential Steps of

Software Engineering Practice

A

Understand the Problem

    • Communication and Analysis
    • Requirements and Specification

Plan a Solution

  • Modeling and Software Design

Carry Out the Plan

  • Implement Code

Examine Results for Accuracy

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

Types of Applications (8)

A
  • Stand-alone
    • Run on a local computer
  • Interactive Transaction-Based Applications
    • On a remote computer, like a server
  • Embedded Control Systems
  • Batch Processing Systems
    • Process data in large batches
  • Entertainment
  • Modeling/Simulation
  • Data Collection Systems
  • Systems of Systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Two kinds of Software Products

A

Generic

Designed for general use, sold on the open market

Custom (bespoke)

Systems/software developed for a particular client, or in-house use

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