Date post: | 17-Dec-2015 |
Category: |
Documents |
Upload: | chrystal-williamson |
View: | 234 times |
Download: | 0 times |
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
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