database application lifecycle lecture 10. 2 2 lectures objectives put all the previous lectures...
TRANSCRIPT
Database Application Lifecycle
Lecture 10
22
Lecture’s Objectives
• Put all the previous lectures into context • Learn the main stages of database
application development.• Use these stages as guidelines for your MSc
project (if you choose to undertake a project which involves developing a Database System).
3
Software Depression• Last few decades have seen a proliferation of
software applications, many requiring constant maintenance involving:– correcting faults,– implementing new user requirements,– modifying software to run on new or upgraded platforms.
• As a result, many major software projects were– late,– over budget,– unreliable,– difficult to maintain,– performed poorly.
• This led to a ‘software crisis’, now referred to as the ‘software depression’.
4
Software Depression
• Major reasons for failure of software projects include:
- lack of a complete requirements specification;- lack of appropriate development methodology;- poor decomposition of design into manageable components.
• Structured approach to development was proposed called information systems lifecycle.
5
Information System
Resources that enable collection, management, control, and dissemination of information throughout an organisation.
• Database is fundamental component of I.S., and its development/usage should be viewed from perspective of the wider requirements of the organisation.
6
Database Application Lifecycle
• Database planning• System definition• Requirements collection and analysis• Database design• DBMS selection• Application design• Prototyping • Implementation• Data conversion and loading• Testing• Operational maintenance.
7
Database Application Lifecycle
8
Database Application Lifecycle:
A Case Study
9
Overview of the Case Study
• DreamHome is a company that specialises in property renting, by taking an intermediate role between property owners and clients who require to rent a property.
• DreamHome operates several branches throughout the UK. Each branch has a number of staff including a Manager, Supervisors, and Assistants. Each branch offers a range of properties for rent.
• The Director of the company feels that a database could help in avoiding the many mistakes occurring in the current paper-based operations of the company.
10
1. Database Planning: (A. Mission Statement)
• Mission statement for the database project defines major aims of database application.
• Those driving database project normally define the mission statement.
• Mission statement helps clarify purpose of the database project and provides clearer path towards the efficient and effective creation of required database application.
11
DreamHome – Database Planning – Mission statement
• Typical questions we might ask the Director:– “What is the purpose of your company?”– “Why do you feel that you need a database?”
• Example of a mission statement: “The purpose of the database system is to maintain the data that is used and generated to support the property rentals business for our clients and property owners and to facilitate the cooperation and sharing of information between branches”.
12
1. Database Planning(B. Mission Objectives)
• Once mission statement is defined, mission objectives are defined.
• Each objective should identify a particular task that the database must support.
• May be accompanied by some additional information that specifies the work to be done, the resources with which to do it, and the money to pay for it all.
13
DreamHome – Database Planning – Objectives
• Typical questions to various members of staff include:– “What is your job description?”– “What kinds of tasks do you perform in a typical day?”– “What kinds of data/reports do you use?”
• Examples of objectives: – To maintain (enter, update, and delete) data on
branches– To perform searches on branches– To report on branches– …
14
1. Database Planning
• Database planning should also include development of standards that govern:– how data will be collected, – how the format should be specified, – what necessary documentation will
be needed
15
2. System Definition
Describes scope and boundaries of database application and the major user views.
16
DreamHome – System Definition –System’s boundary
PropertyAdvertising
PropertyRentals
CustomerServices
StaffHuman
Resources
PayrollMarketing
PropertySales
System’s Boundary
17
2. System Definition
User view defines what is required of a database application from perspective of:– a particular job role (such as Manager or
Supervisor) or – enterprise application area (such as
marketing, personnel, or stock control).
18
Representation of a Database Application with Multiple User
Views
19
DreamHome – System Definition – Major user views
Data Access Type
Director Manager Supervisor
Assistant
All Branches
Maintain
Query X X
Report X X
Single Branch
Maintain X
Query X
Report X
All Staff Maintain
Query X X
Report X X
Branch Staff
Maintain X
Query X X
Report X X
… etc
20
3. Requirements Collection and Analysis
Process of collecting and analyzing information about the part of organization to be supported by the database application, and using this information to identify users’ requirements of new system.
21
3. Requirements Collection and Analysis
• Data model representing single user view is called a local data model, composed of diagrams and documentation describing requirements of a particular user view of database.
• Local data models are then merged to produce a global data model, which represents all user views for the database.
22
Fact-Finding Techniques
• Database developer normally uses several fact-finding techniques during a single database project including: – examining documentation,– interviewing,– observing organisation in operation,– research,– questionnaires.
23
DreamHome – Requirements Collection & Analysis
• Data Requirements:– Branches: The data held on each branch
office includes a unique branch number, address (street, city, and postcode)…
– Staff: The data stored on each member of staff includes staff number, name…
– …
24
DreamHome – Requirements Collection & Analysis
• Transaction Requirements:– Data entry:
• Enter the details of a new branch…
– Data update/deletion:• Update/delete the details of a member of staff
at a branch…
– Data queries:• List the names of staff supervised by a named
supervisor…
25
DreamHome – Requirements Collection & Analysis
• System’s specification:– Initial database size– Database rate of growth– The types and average number of record
searches– Networking and shared access requirements– Performance– Security– Backup and recovery– Legal issues
26
DreamHome – Requirements Collection & Analysis
• Initial database size: There are approximately 2000 members of staff
at 100 branches. There is an average of 20 and a maximum of 40 members at each branch…
• Database rate of growth: Approximately 500 new properties and 200 new
owners are added to the database each month…• Types and average number of record search:
Searching for the details of a branch – approximately 10 per day…
• Networking and shared access requirements: All branches should be networked to a centralised
database at the main office. The system should allow for at least three people concurrently accessing the system for each branch…
27
DreamHome – Requirements Collection & Analysis
• Performance: During non-peak periods expect less than 1
second response time for all single record searches…
• Security: The database should be password protected…
• Backup and Recovery: The database should be backed up daily at 12
midnight.
• Legal issues: Implement UK’s law on the computerised storage
of personal data (staff, clients and owners).
28
4. Database Design
• Major aims:– Represent data and relationships
between data required by all major application areas and user groups.
– Provide data model that supports any transactions required on the data.
– Specify a minimal design that is appropriately structured to achieve stated performance requirements for the system (such as response times).
29
4. Database Design
• Three phases of database design:
– Conceptual database design– Logical database design– Physical database design.
30
5. DBMS Selection
Selection of an appropriate DBMS to support the database application.
• Undertaken at any time prior to logical design provided sufficient information is available regarding system requirements.
• Main steps to selecting a DBMS:– define Terms of Reference of study;– shortlist two or three products;– evaluate products;– recommend selection and produce report.
31
6. Application Design
Design of user interface and application programs that use and process the database.
• Database and application design are parallel activities.
• Includes two important activities:– transaction design (e.g., Queries);– user interface design (e.g., Forms).
32
6. Application Design(A. Transactions)
• Important characteristics of transactions:– data to be used by the transaction;– output of the transaction;– importance to the users;– expected rate of usage.
• Three main types of transactions: retrieval, update, and mixed.
33
6. Application Design(B. User Interface)
• Guidelines for User Interface design:
– Meaningful title– Comprehensible instructions– Logical grouping and sequencing fields– Visually appealing layout of the form/report– Familiar field labels– Consistent use of colour– Visible space and boundaries for data-entry
fields– Convenient cursor movement– Error messages for unacceptable values– Optional fields marked clearly– Explanatory messages for fields– Completion signal
34
7. Prototyping
Building working model of a database application.
• Purpose– to identify features of a system that work
well, or are inadequate;– to suggest improvements or even new
features;– to clarify the users’ requirements;– to evaluate feasibility of a particular system
design.
35
8. Data Conversion and Loading
Transferring any existing data into new database and converting any existing applications to run on new database.
• Only required when new database system is replacing an old system. – DBMS normally has utility that loads
existing files into new database. • May be possible to convert and use
application programs from old system for use by new system.
36
9. Testing
Process of executing application programs with intent of finding errors.
• Use carefully planned test strategies and realistic data.
• Testing cannot show absence of faults; it can only demonstrate that database and application programs appear to be working according to requirements.
37
10. Operational Maintenance
Process of monitoring and maintaining system following installation.
• Monitoring performance of system. – if performance falls, may require tuning or
reorganization of the database.• Maintaining and upgrading database
application (when required). • Incorporating new requirements into
database application.
38
Data Administration and Database Administration
• Data Administration: Management of data resource including:– database planning, – development and maintenance of standards,
policies...
• Database Administration: Management of physical realisation of a database application including:– physical database design and implementation, – setting security controls,– monitoring system performance...