The Database Application Development Process

Document Sample
The Database Application Development Process Powered By Docstoc
					The Database Application
  Development Process




           1
                        Outline
• Information Engineering
• Client Server (2 tier) vs. Web Application (3 tier) software
  systems
• Functional Decomposition (analysis technique)
• Planning Matrix (analysis technique)
• Enterprise Data Model vs. Project (system level) data
  model
• Software Development Life Cycle (SDLC) vs. Agile
  (prototyping approach)
• Case tools
• Roles in software development



2
         Information Engineering
    • A data-oriented methodology to create and
      maintain information systems.
    • Determine what software systems the
      corporation needs.
    • Take inventory of existing software
      systems.
    • Determine the difference (between desired
      and actual).
    • Come up with a plan to bridge the gap.
      What new systems are needed?

3
       Systems: Client/Server versus
             Web Application

• Client Server – works only on the LAN (local area
  network). Application software is installed on
  each PC.
• Web Application – works anywhere you can get
  on the web. Application software is installed on a
  web server(s). Client software is a browser (e.g.,
  IE or firefox)


 4
Older systems usually two-tier SW design architecture:
           database with local area network
   (also called “Client – Server” or “Windows App”)




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



3. Presentation
     Tier è
 (how it looks)




        2. Application Tier è
              (business rules)




                   •   Data Tier è
                   (database & DBMS)




                                               6
    Analysis: coming up with functionality
              and data attributes.

• Functional (process) decomposition -
  functionality
    – Iterative process breaking system description
      into finer and finer detail
• Planning matrixes
    – Describe interrelationships
       between planning objects



7
    Example of Functional (Process)
           Decomposition




8
           Example Planning Matrix
    Business Function-to-Data Entity Matrix




9
           Enterprise Data Model
• Single, high level specification of the data used by ALL
  software applications (even though those apps might have
  separate data models)
• Overall picture of organizational data at high level of
  abstraction – should indicate scope
• Descriptions of entity types and relationships between
  entities as defined by the company’s business rules
• Represented by a Entity-Relationship (ER) diagram - as shown
  on next slide
• It is important to create an enterprise data model before
  working on a detailed project level data model (understand
  the context first)


10
     Segment from ENTERPRISE data model (ER Diagram)



                             n   shows ALL the high-level
                                 entities in an
                                 organization.
                             n   shows the relationships
                                 between these entities.
                             n   does not show attributes.




11
         Segment of a Project Data Model
     n   Only shows the entities that are used by the
         software system (that you are working on)
     n   DOES show attributes.




12
         Two Approaches to Application
                Development
• SDLC
     –   System Development Life Cycle
     –   Detailed, well-planned development process
     –   Time-consuming, but comprehensive
     –   Long development cycle
• Prototyping
     –   Rapid application development (RAD)
     –   Cursory attempt at conceptual data modeling
     –   Define database during development of initial prototype
     –   Repeat implementation and maintenance activities with
         new prototype versions

13
     Systems Development Life Cycle
• Planning (or feasibility study)
     – What will the system do (high level)
     – How much will that cost? What is the benefit of the
       system? Is it worthwhile to even create the SW?
• Analysis
     – What should the system do (define with much more
       detail, e.g., screen captures, sample reports).
     – Data element analysis (e.g., what entities need to be
       stored in the DB, what attributes do the entities need)
• Design
     – Design the data model
     – Design the software
14
       Systems Development Life Cycle
                (continued)
• Implementation
     – Programming (according to the SW design)
     – Ends in SW rollout (user docs, training,
       operational docs, hand over to production staff)
• Maintenance
     – Users will report bugs that need to be fixed
     – Users will request additional functionality. This
       new functionality has to go thru a mini life cycle
       (analysis, design, implementation/ rollout)

15
                   Prototyping
small releases often – get user feedback each time




 16
                          CASE
• Computer-Aided Software Engineering (CASE)–
  software tools providing automated support for
  systems development, such as software that
  – Lets you design a data model (drawing entity-relationship
    diagrams)
  – Generates code (e.g., SQL code for table creation, basic
    insert/edit/delete)
  – Lets you document database entities (e.g., customer or
    product), attributes (e.g., customer name, id number)
  – Lets you track and manage project related tasks
  – Lets you track and manage software versions.

 17
             DB Application Projects:
                    People Involved

     •   Project managers
     •   Business analysts
     •   Users
     •   Technical Lead or Programmer/Analyst
     •   Database analysts and data modelers
     •   Database architects
     •   Data administrators
     •   Other technical experts

18
                      Summary
• Information Engineering
• Client Server (2 tier) vs. Web Application (3 tier) software
  systems
• Functional Decomposition (analysis technique)
• Planning Matrix (analysis technique)
• Enterprise Data Model vs. Project (system level) data
  model
• Software Development Life Cycle (SDLC) vs. Agile
  (prototyping approach)
• Case tools
• Roles in software development



19

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:4/20/2014
language:English
pages:19