You are on page 1of 6

SOFT ENG 11/8/2010

Software Engineering Structures

1. Democratic team

2. Chief Programmer team

3. Hierarchical Team

Democratic Advantages

1. Opportunity for each team members to contribute decision.

2. Increase job satisfaction from good communication in an open non


threatening work environment

3. Opportunity to team from each member

Democratic Disadvantage

1. Less individual responsibility and authority

Ethics 11/15/2010

- The study of the morality of human action

- Ethics focuses on the care for the soul

- An area of Philosophy that deals with man’s pursuit of a “good life”

- The study and philosophy of human conduct with emphasis on the


determination of right and wrong

- Deals with the basic principles of right action especially with references to a
particular person or profession.

Ethics and Law

- Law in general govern the acts of humans

- Laws can be written or unwritten formal or informal.

Kinds of Law
1 Divine Law

2. Natural Law

3. Moral Law

4. Physical Law

Moral Problems

1. Problem of moral principle.

2. Problem of the scope of morality

3. Problem of moral obligation

4. Problem of freedom

SOFT ENG – 11/15/2010

Software Engineering – The application of systematic disciplinary, quantifiable


approach to the development, operation and maintenance of software.

Factors That Influence Quality and Productivity

1. Individual Ability

Two Aspects of Ability

a. General competence of individual

b. Familiarity of the individual with a particular application area, can


result in low-productivity and poor quality.

2. Team Communication

3. Product Complexity
Levels of Product Complexity

a. Application Programs

b. Utility Programs

c. System-Level Programs

4. Problem Understanding

5. Available Time

6. Facilities and Resources

7. Adequacy in Training

8. Management Skills

9. Required Skills

a. Good communication skills

b. Knowledge of the application area

c. Good creative problem solving skills

d. Implementation on software requires attention to details

e. Test planning requires consideration of every conceivable situation


and stress

10.Level of Technology

a. Programming Language

b. Machine environment

c. Programming Practices

d. Software tools.

FACTORS THAT CONTRIBUTE TO LACK OF UNDERSTANDING

1. Often the customer does not truly understand the nature of the problem
and/or does not understand the ca[abilities and limitations of computers
2. Most customers are not trained to think logical, algorithmic term and often
do not understand the true nature of their needs.

3. Often the software engineer does not understand the application area and
has trouble communicating with the customer because of the differences
in educational background and view points.

4. Sometimes the customer is not the end user of the system and the
software engineer has no opportunity to investigate the user’s problem.

5. Sometimes the automated solution changes the nature if the problem and
the change may not be apparent until the system is installed.

SKILLS MOST LOCKING IN ENTRY – LEVEL PROGRAMMERS

1. Express oneself clearly in English

2. Develop and validate software requirements and design specifications

3. Work within application area

4. Perform software maintenance

5. Perform economic analysis

6. Work with project management techniques

7. Work in group.

SOFT ENG 11/24/2010

Planning a Software Project

A. Define the Problem

1. The first step in planning a software project is to prepare in


the customer’s terminology, a concise statement of problem
to be solved and the constraints that exist for its solution.
2. Determine the appropriateness of a computerized solution.

3. Determine the preliminary solution to the problem.


Appropriate solution is focused on the roled to be played by
the major subsystems of the computing system.

a. People subsystems

b. Hardware

c. Software

4. Identify the functions tyo be performed by each major


subsystem

a. Number of types of equipment

b. Numbers and skills level of personnel

c. Software characteristics

B. Developing a Solution Strategy

Techniques for determining the feasibility of a solution

Strategy

1. Case study

2. Construction of prototype

C. Planning the Development Process

Phased Life-Cyle Model

1. Analysis

2. Software Design
3. Implementation

4. System Testing

5. Maintenance

You might also like