Development Life Cycle

offbeatnothingSoftware and s/w Development

Dec 2, 2013 (3 years and 10 months ago)

98 views

Database Design Concepts

Info 1408

Lecture 6

Development lifecycle

Objectives

To identify the process of developing a
database system

Most of this will be covered in more
detail in the Systems Analysis module.

Reminder of concept of 3 level
architecture in databases

Forms & reports

for users

Tables

Storage on disk

Traditional Method:


Systems Development Life Cycle
(SDLC)

(or Waterfall model)

Series of phases:


Planning

Requirements

gathering

Conceptual/

Logical

design

Physical

design

Construction

Implementation

& rollout

Ongoing

support

You will see variations of

this in other text books



these are all equally suitable.

What is involved in the SDLC
stages?

Planning


Feasibility study

Will the project achieve the objective?

Will the budget meet the resource requirements?


Form project team

Set up initial project team

Likely to change as project progresses


Review software

Look at different DBMS options.

Will it/they do the job?

New s/w?

New versions?


What is involved in the SDLC
stages?

Requirements gathering


Collect & analyse requirements

What is needed?

How is it handled currently?

Various techniques used


Collect & analyse user views


How do we get this info? Fact Finding to find objects of interest

In the system


Identify the main entities


Requirements Gathering
Approaches

Meeting users individually or in small groups
to ask them questions. This should be carried
out at all levels of the organisation

Interviews


advantages


Can get more information than just answers to
questions; and observation of individuals during
the interview can be informative too.

Interviews


disadvantages


Can take longer than other methods


Unskilled interviewer might ask leading questions
or might respond in a way that leads interviewee
to answer differently

Requirements Gathering
Approaches

Survey
-

send out a questionnaire

Surveys


advantages


Can gather a lot of information in a short time


All participants get the same questions in the
same way

Surveys


disadvantages


Often have poor response rates


Hard to compose unbiased questions


Lose out on benefits of interviews

Requirements Gathering
Approaches

Observation
-

watching people do the job

Observation


advantages


See how every day processes are undertaken


See things as they really are

Observation


disadvantages


Behaviour can change under observation


Can take a lot of time in order to be useful


Can be expensive for various reasons (time, travel
to other locations etc.)


Requirements Gathering
Approaches

Research
-

reading books, reading articles or
company documents

Sampling
-

collecting examples of existing
paperwork



advantages


Usually less time consuming


Can give a more complete overview than an
interview


Pictures & diagrams are usually v. helpful



disadvantages


Documents may not reflect practices


Can be out of date

Conceptual/Logical Design

Think about what data the users require
to be available to them. Consider
forms/reports etc.

Determine appropriate entities of the
system

Complete Entity Relationship diagram or
similar design method

More about this next week



Physical Design

Decide what hardware and software is
to be used

Decide on processors, disk devices,
network bandwidth etc.

Use a DDL (data description language)
to create the tables & indexes. E.g. SQL

Also can use SQL to define storage
structures

Construction &
Implementation

Develop the applications programs

Construct test databases (for testing
the applications programs)

Implement the actual database/s
required


i.e. populate with actual data

User training

Rollout to users

Maintenance

Database performance tuning

Any S/W patches developed as required

Make changes to logical model
(schema) to support required changes
in applications

Monitor disk space

Advantages & Disadvantages of the
SDLC/ Waterfall type methods

Advantages

Disadvantages

Identifies systems

requirements long

before programming

begins

Design must be

specified on paper

before programming

begins


Long time between

system proposal and

delivery of new

system

Other methods
-

Prototyping

This is an iterative

Process.

Extensive business user

Involvement required

Other methods


Rapid
Application Development

Uses 80/20 rule


80% of of the required
work can be done in 20% of the time

So might miss out some complicated parts

Get a working system ready in a short time

If the process is eventually repeated to
complete 100% of the requirements, the
method has become closer to prototyping



Criteria for Selecting the
Appropriate Methodology

Need to consider the following:


Clear user requirements


Familiar technology


Complexity


Reliability


Time schedule

Summary

We have covered a common approach
to development of an`application.

We have covered the main 5 methods
of fact finding.

We considered an appropriate
alternative method
-

prototyping

References

Systems analysis and design in a
changing world
-

Satzinger Burd and
Jackson

Databases Demystified
-

Andy oppel

Tasks for the Week