Title: CP3015 Rapid Application Development
1CP3015 Rapid Application Development
- An introduction to some of the background
concepts
2RAD is called a methodology
- but what is a methodology, why are they
developed, how do you tell a good one, what do
they have in common ?
3A methodology is ......
- a pompous word for method
- investigation, research and discourse about
methods - a set of techniques, tools, methods with some
underlying philosophy
4The last definition is probably what we need here
- So we have to look for philosophies as well as
tools, methods etc
5Some methodologies ...... with examples of
specific methods
- Structured methodologies
- Yourdon, SSDAM, Ward-Mellor
- Object-oriented methodologies
- OMT, Shlaer-Mellor
- Soft systems methodologies
- Ethics, Multiview
- Formal methodologies
- Z, VDM, CSP, Z
6Some Tools
- ERDs
- DFDs
- Rich pictures
- STDs
- Structure charts
- Formal logics
- Object models
- Prototypes
- ELHs
- JSP
- Normalisation
- Data dictionaries
- PDL
- Decision tables / trees
7Look up any
- that youre not familiar with !
8Each methodology will use several of these tools
- with different emphasis, for different reasons,
in a different order...
9New methodologies evolves because
- perceived weaknesses in all other methodologies
- changed and improved technologies
- case, programming languages, hardware
- changed environments, markets and needs
- trends, fashion, band-wagon, legislation etc
10A quick run through some methodologies (and
methods)
- What led to their rise, then to their fall what
were their tools and philosophies ?
11Structured Methods
- Probably the first methodology, after the
so-called Test-and-Build i.e. hacking
12Structured Methods
- Structured analysis / design / programming
- started in large-scale, stable, centralised
corporate DP on mainframes using COBOL - waterfall life cycle
- top-down / functional decomposition
- tool-kit vs cook-book
- e.g. Yourdon vs SSADM
13Structured Methods Tools
- DFDs
- Structure Charts
- ERDs
- Data dictionaries
14Extensions to Structured Methods
- Real-time Ward-Mellor, Pirbai-Hatley
- STDs, events, control flow
- Requirements Capture
- prototyping added
- SSADM v4
- adds SSM
15Problems with Structured Methods
- Paralysis-by-analysis / Victorian novel
- Increasingly unstable requirements they change
quicker and quicker - validation customers / users dont understand
DFDs, ERDs etc - verification lurch from one notation to the next
16Problems with Structured Methods
- lack of precision, completeness, consistency etc
much natural language is used in Structured
Methods - lack of user involvement
- feasibility sometimes poorly identified
- may not scale up or down
17Formal Methods
18More Problems with Structured Methods
- Structured methods merely turn a big bit of vague
text into small bits of vague text embedded in an
ambiguous DFD - Even if the structured analysis is provably
correct, doesnt mean the design and source code
will be ! Or the machine code !
19Formal Methods Tools
- propositional and predicate calculus
- discrete maths and logic
20Formal Methods consist of
- Formal specifications
- the specification expressed in predicate calculus
- animated with tools and checked e.g. Cadiz
- some are executable e.g. Metoo, Prolog
- difficult
21Formal Methods consist of
- Formal development
- provable progression to code
- very difficult
22Formal Methods problems
- Too expensive, probably too academic
- customers not convinced, developers not fond.
- Only deals with one set of problems
- Inadequate tool support
- Maybe some future in safety- / mission- / life-
critical systems
23Soft Systems
- One response to the failings of Structured Methods
24Origins
- Structured methods deal with problems
organisations have difficulties - Most information processing systems
- have substantial human / social components
- are embedded in social organisations
- Customers and users have partial and conflicted
views on their problems
25Soft Systems Tools
- Based on systems theory
- holistic not reductionist
- subjective not objective
- fuzzy not well-defined
- purpose, boundaries, components
- iterative
26Soft Systems Tools
- Root definition
- precise verbal description of the essence of the
processes - CATWOE
- Rich pictures
- to build and check a conceptual model that form
basis of information systems
27Soft Systems
- Can be
- grafted onto front-end of hard systems methods
- have hard systems methods embedded within them
- are used increasingly
28Object-Oriented Methods
- Another response to the failings of Structured
Methods
29Object-Oriented Methods
- Grew out of programming
- eg Smalltalk, Simula
- Originally technical and academic
- Intuitive world consists of things, not
functions - Offers framework for re-use
- hence quicker quality
- Now have industrial-strength methods
30Object-Oriented Methods
- Assume solution-domain will be entirely
computer-based - Use one notation throughout life-cycle
31Object-Oriented Tools
- Object models
- an enhanced ERD
- Dynamic model
- Harel charts
- Process model
- DFDs