* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Database Systems and Design
Survey
Document related concepts
Transcript
Database Development The Database Application Lifecycle A Relational Approach Broad Goals of Database Development Develop a common vocabulary Define data meaning Ensure data quality Provide efficient implementation Overview of the DbDLC Database Application Lifecycle Database Planning • Focus on management activities • Activities include: – Work to be done – Resources available – TORs – “Surely we can spend a few minutes before rushing off to spend our money or write programs. Isn’t that extra hesitation the essence of design” – Gerald Weinberg Database Application Lifecycle System Definition • • • • Scope Parameters Application areas User groups Primary Education Application Areas Facilities Teaching & Learning Materials Teachers Finance Learners What is requirements analysis? • The process of defining your system. • A process of: – – – – Discovery Refinement Modelling Specification Goals of Requirements Analysis • to determine the data requirements of the database in terms of primitive objects • to classify and describe the information about these objects • to identify and classify the relationships among the objects • to determine the types of transactions that will be executed on the database and the interactions between the data and the transactions • to identify rules governing the integrity of the data Principles of Analysis • Understand the problem domain • Define the software functions to be performed • Represent behaviour of software • Model details of data, information, controls flows & functional behaviour in a layered manner • Move from functions & information outputs towards processing functions & information structures Focus on PEOPLE Stakeholders Focus on DATA Focus on PROCESSES Focus on INTERFACES Building Blocks of An Information system System owner’s View of Data System owner’s View of processes System owner’s View of interfaces System Users System User’s View of Data System users’ View of processes System users’ View of interfaces System Designers Designers’ View of Data System designers’ View of processes’ System designers’ View of interfaces System Builders System builders’ View of Data System builders’ View of processes System builders’ View of interfaces System Owners Vendors and Consultants INFORMATION TECHNOLOGY & ARCHTECTURE Database Technology. Process Technology. Interface Technology Focus on PEOPLE Stakeholders Focus on DATA Focus on INTERFACES Building Blocks of An Information system System Owners Business Knowledge System Users Data Requirements System Designers Database Models System Builders Database Programs Vendors and Consultants Focus on PROCESSES Database Management System Requirements Discovery Methods • Collecting facts from existing Documentation • Research and site visits • Questionnaires • Interviews • Discovery prototyping • Joint Requirements Planning Database design • The process of creating a design for a database that will support the enterprise’s operations and objectives Database Design • Objectives: Develop detailed technical specifications for hardware, software, data, people and procedures--How the system will be built • End Result: Make or Buy? Detailed file/database design, program specs, interface design, sizing and response time specs • Methods: CASE tools, End User Computing • Skills/Talents Required: Technical • How to Avoid Risk: Careful check vs. functional requirements, management review Database design goals Satisfy the users’ content requirements Ensure the consistency and integrity of data Provide a natural easy to understand structuring of information Satisfy the user’ performance requirements Database Design Framework • Determine the information requirements • Analyse the real-world objects that you want to model in the database • Determine primary key attributes • Develop a set of rules that govern how each table is accessed, populated and updated • Identify relationship between the entities • Plan database security Goals for Collecting and Analysing Data. • Identify major functions and activities of your organisation • Identify the objects of those functions and activities • Identify the characteristics of those objects • Identify certain relationships between the objects Students and courses Identifying entities • • • • • Students Courses Instructors StudentCourses Advisors Identifying attributes • What information on each entity should we know? •Students(student_id, Fname, lname, phone, advisor_id) •Advisors(Advisor_id, Advisorname, Advisorphone) •Instructors(instructor_id, Instructorname, Instructorphone) •StudentCourses(Student_id, Course_id) •Courses(Course_id, Coursedescription instructor_id) DBMS Selection • The selection of an appropriate DBMS to support the database application Factors to consider • • • • Performance Ease of restructuring Integrity constraints Security Development Alternatives Difficulties Operational system is produced late Rush to begin implementation Requirements are difficult to capture Alternative methodologies Spiral approaches Rapid application development Prototypes may reduce risk Prototyping • building an experimental system (prototype: a preliminary model) rapidly and inexpensively for end users to evaluate • Using the prototype, end users can better determine information requirements. • planned iterative process of systems development • less formal – requirements determined dynamically as the prototype is constructed Prototyping Determine Needs Build Prototype Evaluate Prototype No Acceptable Yes Prototyping continued • advantages – useful when there is uncertainty about requirements or design solutions (decision-oriented solutions) – valuable for the design of the end-user interface – encouraging intense end-user involvement • disadvantages – – – – only suitable for smaller applications tending to skip essential steps in systems development hasty construction poor documentation Implementation • Objectives: Implement system, fully-functional, deliverables in priority order, with effective training and conversion • End Result: Accurately functioning system, properly trained users • Methods: CASE tools, EUC • Skills/Talents Required: Technical, communication • How to Avoid Risk: Communication! Planning! Change management! Status reviews and walk-throughs! Stages of Implementation • • • • • Hardware/Software Acquisition if needed Programming Testing (program, subsystem, system tests) Training (lead users, train the trainer) Conversion (in order of increasing complexity and risk) – – – – Parallel (old and new systems) Pilot (small scale, small scope) Phased (most critical functions first) Direct Cutover (with manual parallel operations) Database Maintenance • Objectives: Fix “bugs” (incorrect program specs or code) in software, add enhanced functions, cycle back through SDLC phases as needed for small-scale projects • End Result: Fully Functional “Robust” System • Methods: As needed for phases above; audit the system • How to Avoid Risk: Watch changing business requirements, set priorities.