Sie sind auf Seite 1von 37

Information Systems

Engineering
Development approaches –
an overview
It’s all about cooking!
Following a method is analogous to a recipe
book!
• A development method is like a recipe,
giving guidelines
• You can follow the recipe and produce a
meal just like a top chef
– Alternatively, you can follow the recipe and
produce something inedible (even by the
dog)!
Where we’ve got to….
• Development techniques have changed
rapidly over the last 15 years
• The approach to systems development
still continues to evolve as we utilise new
technology and software development
approaches
– Development approaches for web-based
projects are poor
– Many systems developed using system
building tools
There is some agreement
• All software developers agree that in the end the
important issue is not so much about which
methodology you use, as having some kind of
framework within which to structure your project.
• Today’s developers have a much more realistic
view: you need to adapt your recipe to the
ingredients you have and to the preferences of
the consumers
Also agreement on what a
methodology is all about..
As we said in the previous lecture:
• Should provide a framework for evaluating
the problem the project is intended to
address
• Should provide a roadmap for the project
ensuring that no important stages are left
out and everything is proceeding to plan
• Provides tools and techniques that enable
us to represent (model) different aspects
of the system
What development methods are out
there? (1)
• From Avison & Fitzgerald (2006)
– 1st publication of book in 1988 described area of I.S.
development methodologies as ‘a jungle’
– 3rd edition not much had changed still ‘a methodology
jungle’.
• Estimated in 1995 that over 1,000 brand name
methodologies existed
• Many of these were the same but differentiated for marketing
purposes
What development methods are out
there? (2)
• Avison & Fitzgerald cont…
– Today probably less than one hundred methodologies
• number of fundamentally different methodologies even
smaller (again many differentiated for marketing purposes)
– Concluding that:
• some improvement in the situation
• area less of a ’jungle’ than it was
• But still more methods than necessary
Which are the most well known?
• Prince2 (Projects in Controlled
Environments) - not a development method
as such!
• Structured Systems Analysis and Design
Method (SSADM)
• Dynamic Systems Development Method
(DSDM)
• Joint Applications Development (JAD)
• Unified Modelling Language (UML) - not a
development method as such!
• Rational Unified Process (RUP)
What is Prince?
• PRoject IN Controlled Environments
• Not a systems development methodology as
such!
• Aimed specifically at project organisation,
management and control.
– Not just for IT based projects
• History back to 1989 – Central Computer and
Telecommunications Agency (CCTA) - a UK
government agency
What is Prince? (2)
• Now UK’s standard for project
management in the Public Sector!
• Prince2 is the latest version
• Pay big money to attend courses/ get
certification
What is Prince? (3)
Key features of Prince2 described as:

• Focus on business justification


• A defined organisation structure for the project
management team
• Product-based planning approach
• Emphasis on dividing the project into
manageable and controllable stages
• Flexibility to be applied at a level appropriate to
the project.
PRINCE2 framework
Is it worth bothering about?
• www.itjobswatch.co.uk ranks it 43rd in
2007 (up 15 points on year 2005)
• Average salary £51,144
• Need to have Prince certification (costs of
training)
• http://www.prince2.com/whatisp2.html
SSADM (1)
• Structure Analysis and Design Method
• Developed by Learmonth and Burchett
Consultancy (LBMS) for Central Computer and
Telecommunications Agency (CCTA)
• Adopted for public sector use by government in
1983
• Originally aimed at traditional waterfall
development lifecycles
• Gained a reputation for being bureaucratic,
unwieldy, unproductive
SSADM (2)
• In 1990s different versions of it appeared
to try and make it more attractive to
developers
– Gave it a ‘cook book’ approach
– Rapid Application Development version
– Object Oriented version
• These days considered ‘ an old fashioned
approach’
SSADM generic framework
SSADM stages

• Each stage has a number of steps

• Each step may have a number of


substeps

• Each stage/step/substep has one or more


end deliverables associated with it…..
Example: Requirements Analysis
• Investigation of current environment
– Establish analysis framework
– Investigate and define requirements
– Investigate current processing
– Investigate current data
– Derive logical view of current services
– Assemble investigation results

• Business System options


– Define business system options
– Select business system options
– Define Requirements
Is it worth bothering with?
• Have to remember that it has left a legacy in
most public sector systems as SSADM
• Also left a legacy in many large organisations as
LBMS
• So, many systems still in existence that were
developed in these environments
• Ranked 418 in skills requirements in 2007 in UK
(down 18 points on previous year)
• Average salary - £47,045
DSDM (1)
• Dynamic Systems Development Method
– We will look at an overview of DSDM in this course
and will look at it in detail in Rapid Development
Methods
• Focus is on Rapid Application Development
(RAD).
– That is, that projects have to be completed within
tight, fixed guidelines.
• Not a true methodology – gives a framework and
guideline but no specific tools and techniques
(use what you want)
DSDM (2)
• Important departure for development
approaches since it was developed for
industry by industry.

• Companies like BT, Logica developed a


consortium to develop a usable RAD
framework.
DSDM life cycle
Feasibility

Business Study

Functional Model Implementation


iteration

Design & build


iteration
Is it worth bothering with?
• Yes, RAD concept is popular with industry.
• There are criticisms that DSDM framework is too
complex and unworkable in real-world
• The DSDM consortium have delivered a number of
versions to support different types of development
• IT skills survey:
– RAD ranked 247
– DSDM ranked 422 (surprise….)
• Within systems development/analysis skills it comes in at no. 11
UML
• Unified Modelling Language
• Again, not a methodology based upon our
definition
– A set of specifications and design notations
for object oriented development
– Developed combining modelling techniques
developed by Booch, Rumbaugh and
Jakobsen
UML models and diagrams
Is it worth bothering with?
• Yes, it is standard for OO modelling
• Good thing is that certain models e.g. use cases
can be used outside of OO modelling world
• IT skills survey ranks the skill at 37 (down 3 on
last year)
• Average salary - £45,958
• Big criticism, though, is that it is too complex (a
bit like SSADM became)
RUP
The Rational Unified Process
• “A full-fledged process able to support the
entire software development life-cycle”.

• “Use case driven, architecture centric,


iterative and incremental”
Use case driven
• Use cases used here to capture the user
requirements
• A use case describes an element of the
functionality of the system
• All the use cases together (the use case model)
depicts the total functionality of the system
– The system is designed based upon the use cases
– Implemented to support the use cases
– Tested upon content of the use cases
• So, Use cases are very important!
Architecture centric
• End deliverables or ‘artefacts’ are very
important in the RUP just as they are in
UML.
• Compares software architecture to
architecture of a house.
• Many methods ignore development of the
architecture (models etc) and concentrate
on development of software.
Iterative and Incremental (1)
• Belief that user requirements cannot be fully and
accurately defined at one go.
• Requirements evolve and change over time as
understanding deepens.

• This is a key concept of modern methods and


we will come back to it over and over again.
Iterative and Incremental (2)
• Iterative development: Acknowledges the fact
that developers rarely get it right first time. There
is a need to ‘go back’ and make controlled
changes to the development as our knowledge
and awareness of the situation develops. The
waterfall method may be viewed as an early
attempt at iterative development (eg the need for
feedback at the end of each stage)
Iterative and Incremental (3)
• Incremental development: Should go hand in
hand with iterative development. The
acknowledgement that if we wait for the
complete system to be complete before we
deliver it, won’t support the business needs now
and will probably be out-of-date then. So, we
deliver increments (working parts of the system)
throughout the life cycle, in a controlled way.
RUP – Phases and resources
RUP – process structure
The future of methods (1)
• Ad hoc development
– No formalised methodology used
– Experienced developers use best of
approaches/tools/techniques they have previously
encountered.

• Further development in formal method area


– O-O methods and web-based methods continue to be
developed
– Methods using UML toolset are developed
– Web-based methods?
The future of methods (2)
• Adaptable methods
– Methodologies that can be adapted for
different environments are appearing
– different to an ad-hoc approach: choice to
mix-and-match but within a development
framework.
The future?(3)
• External development
– Avison & Fitzgerald see a move toward
outsourcing.
– Organisations not then concerned with
development issues - software house devises
own framework

Das könnte Ihnen auch gefallen