Links

Valid XHTML 1.0 Transitional

Advanced Software Engineering

Definition of Software Engineering

"The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines"

(Pressman. 1992).

 

Software Engineering Principles

 

Economical Software

 

Reliable and Efficient Software

 

Real Machines

Top

 

Risk

Two Main Factors that Comprise Risk

  1. likelihood of occurrence (Probability).
  2. Consequence of occurrence (impact).

 

Risk = Probability X Impact

 

Boehm's "Top 10 risk items"

 

The General Risk Management Framework

Software Measurement

What is measurement?

“Measurement is the process by which number or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined rules.” (Fenton, 1991)

 

Why Measure?

Developers use measurements to evaluate their progress towards completion.

 

Managers use measurement to assess project health and progress towards milestones.

 

Customers use measurements to determine quality and functionality of systems.

 

Maintainers Use measurement for decisions on reusability and reengineering.

Top

 

The Goal Question Metric (GQM)

The goal question metric paradigm can be split into four steps:

 

  1. Identify the goals, questions and metrics
  2. Plan the measurement
  3. Measure
  4. Analyse and interpret the data

 

Step 1: Identify the Goals, Questions and Metrics

The Goal Template

Purpose: To [characterise, evaluate, predict, motivate, etc] the [process, product, model, metric] in order to [understand, manage, assess, engineer, learn, improve, etc] it.


Perspective : Examine the [cost, effectiveness, correctness, defects, changes, product measures, etc] from the viewpoint of the [developer, manager, customer].


Environment: The environment consists of the following factors: process(es), people, problem, methods, tools, constraints, etc.

 

Questions

Questions is the hardist part of the GQM, the aim of the questions is to clarify and defing the attributes of the entities. It is more practical to split the Goals into sub- goals to make it easier to make questions.

 

Metrics

One or many metrics may be required for one question. This step is not as hard as finding questions for goals but it is not automatic either. There are many factors that influence metrics and some are:

 

Step 2: Plan the Measurement

Priorities Metrics

Consider the following when priorities:


Consider the following when planning for each metric:

 

Step 3: Measuring

This is the physical action of measuring and recording

 

Step 4: Analysis and Interpretation

Here the original goals must be reviewed in light of the measurements we have taken. After doing this, it may be required to rework the goals and start the GQM process again like a cycle.

Top

 

Basic Measurement Theory

There are several points on a scale of measurement and they are:

 

Nominal scale

This is where we measure by sorting items into categories.


Ordinal scale

This is where we measure by Ranking each Item.


Interval scale

This is where we measure using marks equal distances between one point to another, like temperature.


Ratio scale

This is where we introduce proportions when measuring.


Absolute scales

This scale involves entities that are simple counted.

Cyclomatic Complexity

Cyclomatic Complexity is the number or independent paths through a program module. It is used to measure the complexity of the software program.

 

There are three different ways to calculate the Cyclomatic Complexity of a module and they are:

 

Drawing a flow chart of the module makes it easier to work out the Cyclomatic Complexity.

Past Exam Questions

Exam 1

Exam 2

Exam 3

Exam 4