+ All Categories
Home > Documents > 1 The Database Application Development Process The Database Application Development Process.

1 The Database Application Development Process The Database Application Development Process.

Date post: 17-Dec-2015
Category:
Upload: chrystal-williamson
View: 234 times
Download: 0 times
Share this document with a friend
Popular Tags:
19
1 The Database Application The Database Application Development Process Development Process
Transcript

1

The Database Application The Database Application

Development Process Development Process

2

OutlineOutline• Information EngineeringInformation Engineering• Client Server (2 tier) vs. Web Application (3 tier) software Client Server (2 tier) vs. Web Application (3 tier) software

systemssystems• Functional Decomposition (analysis technique)Functional Decomposition (analysis technique)• Planning Matrix (analysis technique)Planning Matrix (analysis technique)• Enterprise Data Model vs. Project (system level) data Enterprise Data Model vs. Project (system level) data

modelmodel• Software Development Life Cycle (SDLC) vs. Agile Software Development Life Cycle (SDLC) vs. Agile

(prototyping approach)(prototyping approach)• Case toolsCase tools• Roles in software developmentRoles in software development

3

Information EngineeringInformation Engineering• A data-oriented methodology to create and A data-oriented methodology to create and

maintain information systems. maintain information systems. • Determine what software systems the Determine what software systems the

corporation needs.corporation needs.• Take inventory of existing software systems. Take inventory of existing software systems. • Determine the difference (between desired Determine the difference (between desired

and actual). and actual). • Come up with a plan to bridge the gap. What Come up with a plan to bridge the gap. What

new systems are needed?new systems are needed?

4

Systems: Client/Server versus Systems: Client/Server versus Web ApplicationWeb Application

• Client Server – works only on the LAN (local area Client Server – works only on the LAN (local area network). Application software is installed on network). Application software is installed on each PC. each PC.

• Web Application – works anywhere you can get Web Application – works anywhere you can get on the web. Application software is installed on a on the web. Application software is installed on a web server(s). Client software is a browser (e.g., web server(s). Client software is a browser (e.g., IE or firefox)IE or firefox)

5

Older systems usually two-tier SW design architecture:database with local area network

(also called “Client – Server” or “Windows App”)

6

Newer Systems usually three-tiered sw architecture(Web application shown)

1. Data Tier (database & DBMS)

2. Application Tier (business rules)

3. PresentationTier

(how it looks)

7

Analysis: coming up with functionality Analysis: coming up with functionality and data attributes.and data attributes.

• Functional (process) decomposition - Functional (process) decomposition - functionalityfunctionality– Iterative process breaking system description Iterative process breaking system description

into finer and finer detailinto finer and finer detail• Planning matrixes Planning matrixes – Describe interrelationships Describe interrelationships

between planning objectsbetween planning objects

8

Example of Functional (Process) Example of Functional (Process) DecompositionDecomposition

9

Example Planning MatrixExample Planning MatrixBusiness Function-to-Data Entity MatrixBusiness Function-to-Data Entity Matrix

10

Enterprise Data ModelEnterprise Data Model• Single, high level specification of the data used by ALL Single, high level specification of the data used by ALL

software applications (even though those apps might have software applications (even though those apps might have separate data models)separate data models)

• Overall picture of organizational data at high level of Overall picture of organizational data at high level of abstraction – should indicate scopeabstraction – should indicate scope

• Descriptions of entity types and relationships between Descriptions of entity types and relationships between entities as defined by the company’s business rulesentities as defined by the company’s business rules

• Represented by a Entity-Relationship (ER) diagram - as shown Represented by a Entity-Relationship (ER) diagram - as shown on next slideon next slide

• It is important to create an enterprise data model before It is important to create an enterprise data model before working on a detailed project level data model (understand working on a detailed project level data model (understand the context first)the context first)

11

Segment from ENTERPRISE data model (ER Diagram)

shows ALL the high-level shows ALL the high-level entities in an organization.entities in an organization.

shows the relationships shows the relationships between these entities.between these entities.

does not show attributes.does not show attributes.

12

Segment of a Project Data ModelSegment of a Project Data Model Only shows the entities that are used by the Only shows the entities that are used by the

software system (that you are working on)software system (that you are working on) DOES show attributes.DOES show attributes.

13

Two Approaches to Application Two Approaches to Application DevelopmentDevelopment

• SDLCSDLC– System Development Life CycleSystem Development Life Cycle– Detailed, well-planned development processDetailed, well-planned development process– Time-consuming, but comprehensiveTime-consuming, but comprehensive– Long development cycleLong development cycle

• PrototypingPrototyping– Rapid application development (RAD)Rapid application development (RAD)– Cursory attempt at conceptual data modelingCursory attempt at conceptual data modeling– Define database during development of initial prototypeDefine database during development of initial prototype– Repeat implementation and maintenance activities with new Repeat implementation and maintenance activities with new

prototype versionsprototype versions

14

Systems Development Life CycleSystems Development Life Cycle• Planning (or feasibility study)Planning (or feasibility study)– What will the system do (high level)What will the system do (high level)– How much will that cost? What is the benefit of the How much will that cost? What is the benefit of the

system? Is it worthwhile to even create the SW?system? Is it worthwhile to even create the SW?• AnalysisAnalysis– What should the system do (define with much more What should the system do (define with much more

detail, e.g., screen captures, sample reports).detail, e.g., screen captures, sample reports).– Data element analysis (e.g., what entities need to be Data element analysis (e.g., what entities need to be

stored in the DB, what attributes do the entities need)stored in the DB, what attributes do the entities need)

• DesignDesign– Design the data modelDesign the data model– Design the softwareDesign the software

15

Systems Development Life CycleSystems Development Life Cycle(continued)(continued)

• ImplementationImplementation– Programming (according to the SW design)Programming (according to the SW design)– Ends in SW rollout (user docs, training, operational Ends in SW rollout (user docs, training, operational

docs, hand over to production staff)docs, hand over to production staff)• MaintenanceMaintenance– Users will report bugs that need to be fixedUsers will report bugs that need to be fixed– Users will request additional functionality. This new Users will request additional functionality. This new

functionality has to go thru a mini life cycle (analysis, functionality has to go thru a mini life cycle (analysis, design, implementation/ rollout) design, implementation/ rollout)

16

PrototypingPrototypingsmall releases often – get user feedback each small releases often – get user feedback each

timetime

17

CASECASE• Computer-Aided Software Engineering (CASE)–Computer-Aided Software Engineering (CASE)–

software tools providing automated support for software tools providing automated support for systems development, such as software that systems development, such as software that – Lets you design a data model (drawing entity-relationship Lets you design a data model (drawing entity-relationship

diagrams)diagrams)– Generates code (e.g., SQL code for table creation, basic Generates code (e.g., SQL code for table creation, basic

insert/edit/delete)insert/edit/delete)– Lets you document database entities (e.g., customer or Lets you document database entities (e.g., customer or

product), attributes (e.g., customer name, id number)product), attributes (e.g., customer name, id number)– Lets you track and manage project related tasksLets you track and manage project related tasks– Lets you track and manage software versions.Lets you track and manage software versions.

18

DB Application Projects: DB Application Projects: People InvolvedPeople Involved

• Project managersProject managers• Business analystsBusiness analysts• Users Users • Technical Lead or Programmer/AnalystTechnical Lead or Programmer/Analyst• Database analysts and data modelersDatabase analysts and data modelers• Database architectsDatabase architects• Data administratorsData administrators• Other technical expertsOther technical experts

19

SummarySummary• Information EngineeringInformation Engineering• Client Server (2 tier) vs. Web Application (3 tier) software Client Server (2 tier) vs. Web Application (3 tier) software

systemssystems• Functional Decomposition (analysis technique)Functional Decomposition (analysis technique)• Planning Matrix (analysis technique)Planning Matrix (analysis technique)• Enterprise Data Model vs. Project (system level) data Enterprise Data Model vs. Project (system level) data

modelmodel• Software Development Life Cycle (SDLC) vs. Agile Software Development Life Cycle (SDLC) vs. Agile

(prototyping approach)(prototyping approach)• Case toolsCase tools• Roles in software developmentRoles in software development


Recommended