Unit 14 Flashcards

1
Q

How can a consideration of human factors improve the relationship between people and technology in the software development process?

A

First, by making the process of developing software more efficient and effective (that is, by analysing process-related factors). Second, by improving the interface between people and the final software product (that is, by analysing product-related factors).

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

Imagine that the task of the software engineer in Figure 1 was to test, rather than to implement, the code module. How would the two task-related human factors listed below change?

Task-related human factors
The following factors relate to the tasks the engineer is undertaking:

  • the number of other tasks the engineer has to do;
  • the similarity between this code module and others the engineer has implemented.
A

The factors would change to reflect the specific task. For example, the number of other tasks the engineer has to do might remain as a factor, but the second factor would have to change to reflect the characteristics of the new testing task, as follows:

the similarity between this test and others the engineer has run.

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

How would you classify the factor ‘the engineer’s experience of the application domain’?

A

It is a person-related human factor.

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

Describe the three cornerstones of professionalism.

A
  • Having up to date knowledge of the field that is relevant to the intended application.
  • Being competent to make technical and non-technical decisions in situations arising from the application of that knowledge.
  • Being prepared to take responsibility for the consequences of any advice given or action taken.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Jargon may be used inadvertently and result in confusion; that is regrettable, and a professional should adopt practices to reduce this, for example by having some independent person read and comment on jargon in all documents. However, sometimes jargon may be used deliberately. Suggest one reason for an unprofessional person deliberately using jargon.

A

Jargon is one way to hide lack of knowledge or uncertainty. A professional should feel comfortable about saying when they are unsure, and be willing to go away and investigatefurther.

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

A software engineer is developing the requirements specification for a control system for an oil refinery. How could the engineer’s competence in the application domain be enhanced to ensure that non-functional requirements are captured?

A

By exposing the engineer to the way the software will actually be used: for example, by letting them see how the end-user works with the current software or manual system to perform the task.

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

Suppose that the oil refinery software has reached the design stage. The software controls a potentially dangerous process and interacts with a number of mechanical devices to ensure that the system works safely. How can the engineer’s system domain competence be enhanced to ensure that safety features are properly considered?

A

As becoming a petroleum engineer is impractical, the software engineer should interact effectively with those responsible for other system components: for example, the refinery system engineers should review the software design. In addition, because the system is safety-critical the software engineer should use formal methods, such as VDM (Vienna Development Method).

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

What factors affect the functioning of a team?

A

Team structure,

team goals,

team leadership and

team building.

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

Identify two ways in which the functioning of a team can be supported.

A

Two out of the following:

  • letting the team structure mirror the system structure;
  • letting the team set its own goals;
  • appointing an appropriate team leader;
  • recruiting staff with an appropriate balance of skills.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What type of communication media would be most suitable for:

(a) reviewing the detailed design?

A

Formal interpersonal media.

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

What type of communication media would be most suitable for:

(b) informing the team about changes to the requirements?

A

(b) Formal impersonal media.

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

Which task-related factors might affect performance of the following tasks:

(a) modelling the time-dependent characteristics of a large real-time system?

A

(a) Task complexity – the task complexity is likely to be too high.

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

Which task-related factors might affect performance of the following tasks:

(b) formatting a program listing?

A

(b) Task variability – there is likely to be a lack of task variability.

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

Which environmental factors can affect the speed and quality of the performance of a software engineer?

A

Physical workspace, methods and tools.

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

What are the advantages and disadvantages of an open-plan office as an environment for software development?

A
  • Advantages: development team members can be located in close physical proximity and so benefit from opportunities for informal contact and communication.
  • Disadvantages: unless designed with care, this environment does not provide sufficient privacy for tasks that require high levels of concentration.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Suppose a software engineer is part of a support team for a small software house. One of her clients, a large money broker, calls her first thing in the morning with a problem: last night’s overnight run to produce a report of the day’s dealings failed, and the system needs to be reset for the start of trading. Resetting the system for today’s trading will delete all data from the previous day. The reports generated by the overnight run are required in order to complete the deals swiftly and efficiently. Without these reports, and due to the subsequent complications of completing deals through a different recording system, the client will lose money. However, there is also a risk that the client will lose money if the system is not running to support today’s trading. The engineer’s manager tells her that supporting today’s dealings should take priority. Any losses incurred by the client due to system downtime will be charged to the software house, and so the engineer must get the system running under any circumstances. On arriving at the client’s premises, the engineer is told by the client that under no circumstances should the overnight run be lost. No provision was made in the original system set-up to cope with the failure of an overnight run. What should the engineer do?

A

The engineer involved is facing an uncomfortable ethical decision, which may have serious implications for her personally, for her employer, for the client, and for the client’s customers. To help her make a decision, she could make use of the eight-step procedure as follows.

1 Is the issue a symptom of a wider concern? Yes, it is, in that, if these reports are so important, steps should have been taken to allow for this possibility in the original design. This issue can be tackled later, but the urgency of the situation does not allow an immediate consideration of the wider issue.

2 Is the situation governed by law or organisational rules? It is not obvious from the description that any laws or rules have been broken. However, deals are legally binding. So, if there is a danger that the deals will not be completed, there may be a legal aspect to any decision made.

3 Identify any party affected. The people primarily concerned are the client, the engineer, and the engineer’s employer. Secondarily, the client’s clients and the client’s employees may also be affected if the company loses money on today’s or yesterday’s dealings.

4 Identify the main options, their justifications, and their expected outcomes. Three actions open to the engineer are as follows.

(a) Redo the overnight run immediately, holding up the current day’s trading. This option is supported by the client’s comment that the overnight run must not be lost. The outcome of this course of action should be that the reports are generated, but the trading for the current day will be held up.
(b) Forget the overnight run and initialise the system for the current day. This option is supported by the employer’s comment that the current day’s trading must not be disrupted. The expected outcome of this option is that the reports will be lost, but the current day’s trading will not be disrupted. Note that the loss of the reports will result in difficulties in completing yesterday’s deals, but the deals will be completed.
(c) Backup the data for the overnight run, and try to run it on a different machine, or later on, without disrupting the current day’s work. The expected outcome of this option is that the reports will be generated, as required, and minimal disruption of the current day’s trading will occur.

5 Eliminate options that are ‘illegal’. None of the options is illegal in terms of the law and, assuming that there is no rule within the client’s organisation forbidding the copying of data, then none appears to contravene organisational rules.

6 Ask negative questions about the expected outcomes of each option. The questions to be considered should include general queries, such as: How much good will from the client would be lost if this option were chosen?

(a) How much money will be lost owing to the delay in today’s trading? What repercussions may there be if the engineer ignores the employer’s view that the current day’s trading must not be disrupted?
(b) How much money will be lost if no reports are generated from yesterday’s trading? What extra resources will be needed to complete the deals?
(c) How safe is the backup procedure? What are the risks of running the reports at a later time, or on a different machine?

7 Ask neutral or positive questions about the expected outcomes of each option.

(a) How much money will be saved by not losing the reports on yesterday’s deals? How much (if any) recognition will the engineer get for following the client’s wishes?
(b) How much money will be made if today’s trading is started immediately? How much (if any) recognition will the programmer get for following the employer’s wishes?
(c) How long will the backup take, before today’s trading can begin?

8 Select a course of action. In our opinion, the course of action least likely to cause anyone concern, and to satisfy as many people as possible, is the compromise position: option (c). There are risks associated with backing up and generating the reports from a different machine, but if it is successful all parties will be happy.

16
Q

How would you characterise an ethical decision?

A

Ethical decisions involve deciding between what is morally ‘right’ and what is morally ‘wrong’.

An ethical decision is one that may cause a living thing to be adversely affected emotionally, practically or morally.

Informally, it is one that makes you feel uncomfortable.

17
Q

Look at your current or a previous contract of employment or appointment, and identify what, if anything, is said about the ownership of anything you produce, about the people you contact, or about the expertise you gain during the period of your employment.

A

The contract may say nothing, but it is common for employers to stipulate that everything created by you while in their employment belongs to the employer.

Other employers might stipulate that a creation belongs to the employer only if it is related to the employer’s business.

It is also quite common to stipulate that you should not approach any clients of your employer for custom within two years of leaving the company.

18
Q

Suggest an area of software development, other than those mentioned in the text, that causes problems with regard to software ownership.

A

One of the difficult areas at present is class libraries for use in object-oriented software development. Class libraries are being sold, but there are outstanding issues about who is responsible for faults found in the class libraries,

whether libraries can be modified and sold on to others,

whether royalties should be paid to the original developers of class libraries, and so on.

19
Q

If the description of a new, innovative software product is placed on the internet, could this become the subject of a patent? Is it covered by copyright?

A

In terms of patenting, the key point here is whether or not placing items on the internet is regarded as publishing, since the subject of a patent must not have been published. Placing items on the internet is viewed as publishing. Unless the copyright has been signed away in some other agreement, the copyright of the expression of the idea will rest with the originator (but note that this does not cover the idea itself).

20
Q

What is the difference between freeware, public-domain software and shareware?

A

Freeware is software that is given away free; copyright remains with the originator.

Public-domain software is also given away free; the originator signs away their copyright.

Shareware is software that is supplied free of charge for a limited time; copyright remains with the originator.

21
Q

How many organisations do you think have personal data about you held on a computer?

A

In thinking about this, you may have included, for example, the tax office, your bank, your employer, any clubs you belong to, The Open University, and the Vehicle Licensing Authority. If you have a subscription for a magazine or newspaper, this information may be held on computer. If you have a loyalty card of any kind, personal data about you is likely to be stored electronically by the company concerned.

The list goes on and on.

22
Q

Why do you think that the third principle of the 1998 Data Protection Act states that stored personal data must be adequate, relevant and not excessive? What might happen if the stored data was not adequate, not relevant and/or excessive?

A

If the data is to be used as the basis of decision making of any kind and it is not adequate, then an inappropriate decision may be made.

If the information is not relevant or is excessive, this may also lead to an inappropriate decision, and it could also lead to a breach of privacy.

23
Q

Is the deliberate introduction of a virus into a piece of software illegal in terms of the three offences created by the Computer Misuse Act?

A

Yes, it is unauthorised modification (and ultimately, maybe, the destruction) of data and/or programs. (Note that viruses are often passed inadvertently, and this is not regarded as a crime.)

24
Q

List the three key roles of professional bodies in software development.

A

1 To provide support to help members fulfil their professional duties.

2 To set standards of behaviour and training for their members in order to provide a realistic yardstick for those inside and outside the profession.

3 To represent the profession in debates on relevant issues.

25
Q

How does the provision of information help to improve professional competence?

A

Articles, seminars, workshops, meetings, books and so on can be used to report on the practical experiences of members.