0% found this document useful (0 votes)
34 views50 pages

Systems Development Frameworks Overview

Uploaded by

hoangha43kd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views50 pages

Systems Development Frameworks Overview

Uploaded by

hoangha43kd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Lecture 2 - Frameworks

and Methods
The need for a framework

The traditional systems


Purpose of the systems development life cycle
development function is to (with which you are all
develop effective familiar ) was a first
systems in the most attempt to provide a
efficient way possible. controlled environment for
systems development.
What we need from a systems
development methodology
 It is an attempt to specify in great detail:
 the generic development framework
 those steps essential to the development process
 those steps considered optional
 the order in which the steps should be performed
 the tools and techniques required in order to

undertake these steps


 The end-deliverables that we need
Features of a generic system
development methodology
 The Technical model
 Defines the tools and techniques that will be
required in order to follow the methodology
framework.
 It will consist of the use of a combination of
the information systems modelling views: the
data model, the process model, the
behavioural (or dynamic) model.
Cont..

It may also consist of methodology-


specific tools & techniques.

Also, computer-based tools to assist


with the development of the information
system. (CASE, IPSE packages)
Cont…...
 Managerial model
 This part of the methodology covers the order
in which steps are to be covered, how to
control the activities.
 It provides the framework within which the
development will take place.
 It defines stages, steps, tasks to be
undertaken.
Cont..
 Most importantly, it defines:
 When they will be undertaken
 Which are critical/ which are not
 How they should be managed
 How developers and teams should work
together
 What the end-deliverables will be.
Where we’ve got to today..
 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 s/w development
approaches
There is some agreement

All s/w developers agree that in the end the


important issue is not so much about which
methodology you use, as having 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
You must remember this!
Systems Development Life
Cycle
The late 1960’s saw the development of a number of methods
and frameworks designed to overcome the problems
associated with systems development projects.

Outlined the key activities forming the SDLC.

Main criticisms: rigid, no back-tracking or iterations allowed

Modern development frameworks built from this.


The systems development lifecycle
(SDLC)

Business Information Systems: Technology, Development and Management for the Modern Business, 6/E
Initiation phase

 Initiation phase:
 The startup phase in an IS development
project. Its aims are to establish whether the
project is feasible and then prepare to
ensure the project is successful.
 Initiation phase context:
 Input: creative thought and/or systematic
evaluation of IS needs.
 Output: idea for initiation of a new
information system.
Feasibility assessment

 Feasibility assessment: An activity at the start


of a project to ensure that the project is a viable
business proposition. The feasibility report
analyses the need for and impact of the system
and considers different alternatives for acquiring
software.
 Feasibility assessment context:
 Input: idea for initiation of a new information
system.
 Output: feasibility report and recommendation to
proceed.
Systems analysis

 Systems analysis: The capture of the


business requirements of a system from
talking to or observing end-users and using
other information sources such as existing
system documentation. Defines what the
system will do.
 Systems analysis context:
 Input: terms of reference in feasibility report
describing outline requirements.
 Output: detailed requirements specification
summarising system functions. Supported by
diagrams showing the information flow and
processes that are required.
Systems design

 Systems design: Defines how the system will


work in key areas of user interface, program
modules, security and database structure and
transactions.
 Systems design context:
 Input: requirements specification.
 Output: detailed design specification.
System build

 System build: Describes the creation of


software by programmers. It involves writing
the software code (programming), building
release versions of the software, constructing
and populating the database and testing by
programmers and end-users. Writing of
documentation and training may also occur at
this stage.
 System build context:
 Input: requirements and design specification.
 Output: working software, user guides and
system documentation.
System implementation

 System implementation: Involves the


transition or changeover from the old system to
the new and the preparation for this such as
making sure the hardware and network
infrastructure for a new system are in place;
testing of the system; and also human issues
of how best to educate and train staff who will
be using or affected by the new system.
 System implementation context:
 Input: working system, not tested by users.
 Output: signed-off, operational information
system installed in all locations.
Review and maintenance

 Once an information system is operating under live running


conditions, it will be inevitable that changes will be required
over time. The maintenance phase involves two different
types of maintenance.
 ‘Unproductive maintenance’ stems from errors or oversights
in the original systems development which, while not
preventing the system operating to an acceptable level, are
still necessary to correct for it to conform with the original
specification.
 The second form of maintenance involves the addition of new
features and facilities that extend the scope and functionality
of the information system.
Rapid applications development (RAD)

 Rapid applications development (RAD): A method of


developing information systems which uses prototyping
to achieve user involvement and faster development
compared to traditional methodologies such as SSADM.
 Prototyping: A prototype is a preliminary version of part
of a framework of all of an information system which can
be reviewed by end-users. Prototyping is an iterative
process where users suggest modifications before
further prototypes and the final information system are
built.
 Characteristics
 Rapid
 Small teams
 User involvement
 Frequent review and testing.
The role of prototyping within the
systems development lifecycle
Spiral model

 Spiral model: An iterative systems development in


which the stages of analysis, design, code and
review repeat as new features for the system are
identified.
 The four main activities of this model are as follows:
 Planning – setting project objectives, defining alternatives.
 Risk analysis – analysis of alternatives and the
identification and solution of risks.
 Engineering – equivalent to the build phase of the SDLC
with coding and testing.
 Customer evaluation – testing of the product by
customers.
Boehm’s spiral model of systems
development
Object-oriented design (OOD)
 Object-oriented design (OOD): This is a design technique
which involves basing the design of software
on real-world objects which consist of both data and the
procedures that process them rather than traditional design
where procedures operate on separate data.
 Characteristics
1. An object consists of data and methods that act on them.
2. Objects communicate using messages which request a
particular service from another object, such as a ‘print
current balance’ service. These services are known as
methods and are equivalent to functions in traditional
programming.
3. Objects are created and destroyed as the program is
running.
OOD characteristics (Continued)
4. Objects provide encapsulation – an object can have
private elements that are not evident to other objects.
This hides complex details and gives a simple public
object interface for external use by other objects.
Abstraction refers to the simplified public interface of
the object.
5. Objects can be grouped into classes which share
characteristics. Classes can share characteristics with
other classes in the hierarchy, which is known as
inheritance. This refers to the situation when an object
inherits the behaviour of other objects.
Polymorphism, where an object can modify its inherited
behaviour.
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
 Lots of methods have been developed
from it.
UML models and diagrams
Is it worth bothering with?
 Yes, it is standard for OO modelling
 Good thing is that certain models (eg use

cases) can be used outside of OO modelling


world
 Big criticism, though, is that it is too complex

 [Link] rank it at 500

 Average salary around £65,000


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 The system is designed


element of the functionality based upon the use
of the system cases

All the use cases together


(the use case model) depict Implemented to support
the total functionality of the the use cases
system

So, Use cases are very Tested upon content of


important! the use cases
Architecture centric
End deliverables or ‘artefacts’ are very
important in the RUP just as they are in
UML.

Compares s/w architecture to


architecture of a house.

Many methods ignore devt of the


architecture (models etc) and
concentrate on devt 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.
RUP – Phases and resources
RUP – process structure
Is it worth bothering with?
 Yes, to an extent
 Still used on large scale products
 Owned by IBM

 [Link] rank it at 982 in

Jan 2022 (down 222 on the previous year)


 Average salary around £60,000 (down

25% from last year)


Agile Methods (1)
 Agile methodologies are a family of methodologies,
not a single approach to software development.
 They are based on the original concepts of Rapid
Application Development (RAD) – more in coming
weeks
 The idea has been developed to incorporate later
stages of the life cycle (software development) and
project management
 Adaptive Software Development (ASD), Agile
Unified Process (AUP), Scrum and Dynamic
Systems Development Methodology (DSDM).DSDM
is an Agile Method developed in the UK
Agile Methods (2)
 In 2001, 17 prominent figures in the field of agile
development (then called "light-weight
methodologies") came together to discuss the
unifying theme of their methodologies.
 Formed the Agile Alliance
 Created the Agile Manifesto

 The background of these ‘experts’ was in software


development rather than in requirements
definitions/business analysis and so a new way of
thinking for this discipline
Agile Methods (3)
 The Agile Manifesto
 We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
 Individuals and interactions over processes and
tools
 Working software over comprehensive
documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan
 [Link]
Agile Methods (5)

• Most agile methods attempt to


minimize risk by developing
software in short timeboxes, called
Key iterations, which typically last one
to four weeks.
Agile • Each iteration is like a miniature
software project of its own and
concepts includes all the tasks necessary to
release the mini-increment of new
functionality: planning,
requirements.
Agile Methods (6)
 Key Agile concepts cont…
 Agile methods emphasize face-to-face
communication over written documents.
 Most agile teams are located in a ‘bullpen’ and
include all the people necessary to finish
software.
 At a minimum, this includes programmers and their
"customers."
 The bullpen may also include testers, interaction
designers, technical writers, and managers.
Agile and lean software development

 The lean approach to software development


emphasises what is essentially an incremental
approach to software development where software is
developed and deployed in small and useful feature
sets which work incrementally.

 This ‘feedback-driven’ approach to software


development is in contrast to the traditional waterfall
model where software development proceeds in a
series of discreet steps, each of which should be
completed before the next one can proceed.
Extreme Programming
Scrum
DSDM
 DSDM is the proven
framework for Agile PM
 Created in 1994 by
founding members of the
DSDM consortium (Now
Agile Business
Consortium)
 2001 DSDM consortium
helped shape the
Manifesto for Agile
Software Development to
create Agile Alliance.
Agile PM with Scrum

Created in 2014 Agile PM uses the DSDM process and the project
lifecycle ([Link]
Agile development
Agile Software Development
• Ranked 1st (up from second ranking last
year) Jan 2022
• Average salary around £62,500
(up +4.16% from the previous year)

Source:
[Link]
+Development&l=&id=0&p=6
Short Quiz
 Go Or Use
to [Link]
and use the
code 7119 9758 (It
expires in 2 days)
 [Link]
om/8f6vxnfv43
Summary
 Many different methods/frameworks
exist
 Make sure you know the difference between
a development method/framework, a project
management method and a Modelling
framework (such as UML)
 Original structured methods such as
SSADM legacy systems that used them
still exist
Summary (2)
 Methods such as RUP designed for
larger scale systems are still used but
they are much more flexible
 Agile (RAD) methods are currently in

vogue – still criticism of them


 Current approaches advocate
 Time boxes, working in small groups,
integrating analysts, designers, programmers
and users
References
 Bocij,Greasley, Hickei, S. Business
Information Systems: Technology,
Development and Management for the
Modern Business. Pearson 6th edition

You might also like