Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 The Database Application Development Process The Database Application Development Process."— Presentation transcript:

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

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

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

4 4 Systems: Client/Server versus Web Application Client Server – works only on the LAN (local area network). Application software is installed on each PC. 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) 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 5 Older systems usually two-tier SW design architecture: database with local area network (also called “Client – Server” or “Windows App”)

6 6 Newer Systems usually three-tiered sw architecture (Web application shown) 1.Data Tier  (database & DBMS) 2. Application Tier  (business rules) 3. Presentation Tier  (how it looks)

7 7 Analysis: coming up with functionality and data attributes. Functional (process) decomposition - functionality Functional (process) decomposition - functionality – Iterative process breaking system description into finer and finer detail Planning matrixes Planning matrixes – Describe interrelationships between planning objects

8 8 Example of Functional (Process) Decomposition

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

10 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) 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 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 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 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) It is important to create an enterprise data model before working on a detailed project level data model (understand the context first)

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

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

13 13 Two Approaches to Application Development SDLC SDLC – System Development Life Cycle – Detailed, well-planned development process – Time-consuming, but comprehensive – Long development cycle Prototyping 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 14 Systems Development Life Cycle Planning (or feasibility study) 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 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 – Design the data model – Design the software

15 15 Systems Development Life Cycle (continued) Implementation Implementation – Programming (according to the SW design) – Ends in SW rollout (user docs, training, operational docs, hand over to production staff) Maintenance 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 16 Prototyping small releases often – get user feedback each time

17 17 CASE Computer-Aided Software Engineering (CASE)– software tools providing automated support for systems development, such as software that 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 18 DB Application Projects: People Involved Project managers Project managers Business analysts Business analysts Users Users Technical Lead or Programmer/Analyst Technical Lead or Programmer/Analyst Database analysts and data modelers Database analysts and data modelers Database architects Database architects Data administrators Data administrators Other technical experts Other technical experts

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


Download ppt "1 The Database Application Development Process The Database Application Development Process."

Similar presentations


Ads by Google