1 / 19

The Database Application Development Process

The Database Application Development Process. 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

lemuel
Download Presentation

The Database Application Development Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Database Application Development Process

  2. 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

  3. 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?

  4. 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)

  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) 3. Presentation Tier  (how it looks) 2. Application Tier  (business rules) • Data Tier  • (database & DBMS)

  7. 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

  8. Example of Functional (Process) Decomposition

  9. Example Planning MatrixBusiness Function-to-Data Entity Matrix

  10. 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)

  11. Segment from ENTERPRISE data model (ER Diagram) • shows ALL the high-level entities in an organization. • shows the relationships between these entities. • does not show attributes.

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

  13. 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

  14. 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

  15. 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)

  16. Prototyping small releases often – get user feedback each time

  17. 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.

  18. 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

  19. 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

More Related