Chapter 1-3, 13 Flashcards

1
Q

What are statements that define and qualify what the program needs to do?

A

Requirement statements define what the user needs and thus what the programs needs to do for the users

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

What are statements that constrain the ways in which the software can be designed and implemented?

A

Design constraints are imposed by the users on the ways in which the design and implementation must satisfy those constraints. An example may be a constraint on the choice of programming language for implementation.

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

Which type of requirement statement defines what the program needs to do?

A

Functional requirement statements as opposed to the non-functional requirement statements speak to the “functions”.

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

What requirements qualify the functional requirements and specify in what manner they need to be achieved?

A

Non-functional requirement statements qualify the functional requirements with additional characteristics such as performance.

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

What decisions are those taken by the software engineer about the best ways (processes, techniques, and technologies) to achieve the requirements?

A

Design decisions are made by software engineers to achieve the solution that will satisfy the requirements.

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

What type of testing refers to testing done by the clients (or somebody on their behalf), to make sure the program runs as specified?

A

Acceptance testing is usually performed by the users and clients prior to formally adopting the solution.

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

What is GUI?

A

GUI stands for Graphic User Interface where graphical icons are used in the interface to users.

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

What is CLI?

A

CLI stands for Command Line Interface where the user communicates with the system through text line of commands and text line of responses.

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

List three of the typical kinds of non-functional requirements.

A

1) Performance related requirements number of transactions per second,
2) Real-time processing where a certain processing or response must be made within a given time frame,
3) Extensible and modifiable is another non-functional requirements.

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

Define the depth versus the breadth issue in software complexity.

A

Depth problem addresses the complexity and relationships among the components or items. These relationships may be in the form of sharing data, transfers of control among the components, or some combination of data and control linkage.

Breadth problem refers to the number of and variety of components or items. The more there are, the worse the breadth problem.

The breadth of software complexity usually refers to “the number of” functionality, components, interfaces, etc. of the software while the depths of the software complexity refers to the “relations and interactions” among these functions, components, etc.

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

List two technical concerns in developing large systems.

A

Large system requires software engineers to consider many aspects of development, including a) architecture and design decomposition, b) choices of language, database, network, middleware, and c) the process and methodologies to be used for development.

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

What is the maximum number of communication paths for a team size of 20 people?

A

SUM (n-1), where n =20, it would be 19

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

List four factors that should be considered in deciding how many post-release people will be needed.

A

The amount of post-release support personnel that would be needed is based on several factors-
1) how any customers/users are expected;
2) the quality of the product at release time in terms of known bugs that are still in the product;
3) amount of user training that was provided before release;
4) projected number of problems and changes that may be arriving, and
5) how well trained are the support personnel.

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

List two key reasons that have caused both software project successes and failures.

A

Some reasons that impact software project success and failures include:
-amount of user involvement
-clarity of requirements
-proper planning and changes to requirements

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

From the definition of software engineering, list three areas that software engineering must touch upon.

A

Software engineering touches on:
-technical business processes
-specific methodologies and techniques
-product characteristics and metrics
-people, skill, and team work
-project coordination and management

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

List two of the three strategies cited by the 2004 US General Accounting Office report as key to ensuring delivery of successful software.

A

A. Focused attention on software development environment
B. Disciplined development process
C. Methodical usage of metrics to gauge cost, schedule, and other performance targets

17
Q

When and where was the term software engineering first introduced?

A

1968 at the NATO conference in Germany to mimic the existing, traditional engineering disciplines

18
Q

What are the eight principles for software engineering code of ethics recommended by the IEE-CS/ACM Version 5.2 joint task force report?

A
  1. SE shall act consistently with the public interest.
  2. SE shall act in a manner that is in the best interests of their client and employer, consistent with the public interest.
  3. SE shall ensure that their products are related modifications meet the highest professional standards possible.
  4. SE shall maintain integrity and independence in their professional judgement.
  5. SE managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
  6. SE shall advance the integrity and reputation of the profession consistent with the public interest.
  7. SE shall be fair to and supportive of their colleagues.
  8. SE shall participate in lifelong learning regarding the practice of their press ion and shall promote an ethical approach to the practice of the profession.
19
Q

What is meant by the term principles of software engineering?

A

Are rules and assumptions derived from extensive observations and past experiences in the field of software development and software support. They are not all “proven” or “verified” with experiments.

20
Q

Can a software engineer become a ceritificied Professional Engineer (PE)? Explain.

A

No, at this time a software engineer cannot become a professional engineer. The professional engineering certification process does not exist for software engineers. The state of Texas has initiated an effort to verify SE, but it is still under study.