Software Development Methodologies
  Lecture 1
  Software Development Methodologies Home - Lecture Support -  Lecture 1

Quick Links

Worksheet »



 

Efficiency and effectiveness are critical issues in the software development process

Efficiency is concerned with the fact that only around 25% of software development effort is productive effort, the remainder concerned with rework, cancelled projects, testing and defect repair.  Effectiveness is concerned with developing the right system for users.


Distinguish between the real world and the information systems world

The real world is the actual business or organisation under analysis, whilst the information system is the representation of the real world in a computer, in terms of the data recorded about things in the real world and the processes which update and manipulate these data.


It costs more to correct errors later in the development process

If an error occurs in a requirement, it costs far more to correct it if the system has been developed and shipped to users, than if the error is corrected during the requirements development process.


Focus on the what before the how 

Much software development is concerned with producing a system correct ("do it right"), i.e. given a set of user requirements, ensuring that they designed and implemented correctly.  This is often referred to the how to develop the system.  However a more critical issue, which at least needs to be addressed before the 'how', is ensuring you know what is to be produced ("do the right thing"), i.e. getting the initial user requirements correct.

Abstraction is the deliberate omission of detail in order focus on and highlight critical issues


There are different modelling languages to handle complexity

Handling the complexity in a system is critical.  One approach to achieving this is to use different description languages to describe different aspects of a system, i.e. one to describe the data to be used in a system (data), one to describe the basic processing of the data (processes), one to describe when the basic processes are to be executed (events) etc.


The Software Lifecycle is a means of managing the development process

The software lifecycle is a generic structure for organising the stages of software development.  Each step of the lifecycle will have specific goals and will result in the output of models which are used to communicate with the next step of the lifecycle.

Quick Tips

Tips for revision »

Tips for answering questions »

Worked exam examples »

Examinations feedback »


Details correct as on 24th February 2018
(c) C. Tjortjis 2018

Home | Contact Us| Legal