Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Database Planning, Design, and Administration
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Systems Analysis, Prototyping and Iteration Systems Analysis.
Lecture # 2 : Process Models
MIS 2000 Class 20 System Development Process Updated 2014.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Software Design Deriving a solution which satisfies software requirements.
Prototyping. Horizontal Prototyping Description of Horizontal Prototyping A Horizontal, or User Interface, Prototype is a model of the outer shell of.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 15 Finalizing.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
L ECTURE 9 – PROCESS MODELLING PART 1 Data Flow Diagrams for Process Modelling Multi-level Data Flow Diagrams Logical Vs Physical DFDs Steps to Construct.
1 Case Study: Starting the Student Registration System Chapter 3.
Lecture Nine Database Planning, Design, and Administration
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Software Life Cycle Model
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
Chapter 9 Database Planning, Design, and Administration Sungchul Hong.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Overview of the Database Development Process
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
1 Shawlands Academy Higher Computing Software Development Unit.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
ITEC224 Database Programming
Part3 Database Analysis and Design Techniques Chapter 04- Overview of Database Planning, Design and Administration Database Systems Lu Wei College of Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
ITEC 3220M Using and Designing Database Systems
1 Minggu 9, Pertemuan 17 Database Planning, Design, and Administration Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Finalizing Design Specifications
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 10 Slide 1 Chapter 13 Finalizing Design Specifications.
The Software Development Process
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Prototyping Rapid software development to validate requirements.
Human Computer Interaction
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Click to add text Systems Analysis, Prototyping and Iteration.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 13 Finalizing Design Specifications
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Modern Systems Analysis and Design Hoffer, George & Valacich Chapter 13 Finalizing Design Specifications Course: Physical System Design and Implementation.
Software Design and Development Development Methodoligies Computing Science.
Chapter 9 Database Planning, Design, and Administration Transparencies © Pearson Education Limited 1995, 2005.
Systems Analysis and Design in a Changing World, Fourth Edition
Design Concepts ch-8
Chapter 15 Finalizing Design Specifications
Chapter 15 Finalizing Design Specifications
Software Prototyping.
Problem Solving How do we attack a large problem?
Software Processes (a)
Object oriented system development life cycle
Software Processes.
Tools of Software Development
Chapter 15 Finalizing Design Specifications
Software Development Life Cycle:-
Chapter 1 Introduction(1.1)
Chapter 7: Data Flow Diagram Structuring System Process Requirements
Rapid software development
Presentation transcript:

Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy

What I need to know Database DesignDatabase Design –Description of system refinement using modelling techniques. –Description of logical and physical design. –Description of processes using structured English and one graphical design notation. –Description and exemplification of screen layout and user interfaces using graphical techniques or rapid application development (RAD) tools.

Logical and Physical Design During conceptual design, a model of the information used within the business or organisation is constructed. This model shows the entities and relationships that will exist in the new system. The conceptual design is independent of all physical considerations. The logical design selects a suitable data model for the system and then transforms the conceptual design into the selected data model. The logical design also provides a detailed description of all processes in the system. The logical design is independent of any particular database software and all physical constraints. Having completed the logical design, a physical design is produced. This provides a description of the database implementation in terms of storage devices, file organisation and security features.

System Refinement – –In order to design a system that fully meets its specification, the analyst must temporarily forget about how the system might be implemented and concentrate on how best to achieve its objectives. This stage of design is often referred to as conceptual design. – –The conceptual design is built using the information documented in the system specification and therefore must take account of the information and processing requirements identified as a result of the analysis process. – –Conceptual database design identifies entities that are necessary for the new system to function efficiently. The model is developed by defining attributes and relationships between the entities. The model that represents the conceptual design usually consists of an Entity Relationship Diagram (ERD).

System Refinement It is important to realise that this model of the system differs from the models produced during analysis stage of the development. The analysis phase looks in detail at the current system. All models produced during the analysis represent how things are carried out presently. However, the model produced during the conceptual design stage of the development represent how the new system will work. During the conceptual design stage, the analyst produces a model that represents how the new system will work - although this model is based on the earlier ones, it will be different because the new system is being designed to be more efficient that the one it is replacing. As the conceptual design is produced, it is continually tested and validated against the users’ requirements. Any modifications are noted and the model is revised accordingly. This process of system refinement is carried out until the conceptual design meets all requirements of the system specification. Once the conceptual design has been completed, the analyst now has a blueprint of what the database system that will be built.

Structured English (Pseudocode) Structured English – –Structured English uses a restricted subset of the English language that includes action verbs and noun phrases but avoids unnecessary adjectives and adverbs. It can be easily coded and closely resembles a programming language. Since structured English makes use of a reduced vocabulary that is taken from standard English, it can be a useful tool when communicating with clients and users of the system. – –Using structured English to define a process specification involves writing down a solution to a problem in clear, unambiguous style. This style is similar to the structure of a programming language without using the exact syntax of any specific language. – –All structured English has three basic structures: sequence, iteration and selection. – –Indentation is used to indicate the use made of iteration and selection structures.

Graphical Design Notation – –Structure charts provide a means of breaking down a complex process and illustrating the components of the process diagrammatically. A structure chart will show: the sequence of events or activities any repetition (or iteration) of events any events that provide options (i.e. selection) – –A structure chart is a hierarchical diagram that shows the relationships between the functions and actions that take place within a process. Rectangles are used to show each separate function or action. Lines are used to connect the rectangles and indicate the hierarchy. Each line has a small labelled arrow to show the data that is passed from one function or action to another. Curved arrows below a rectangle are used to indicate iteration and a black diamond is used to indicate that a lower level function or action is conditional. – –The sequence of actions is indicated by reading the structure chart from left to right.

Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. User Interface – –The purpose the user interface is to provide a front-end to the database system that allows users to interact with it without having to think about the underlying structures. – –Users of a database system want to find the information they need quickly and with a minimal amount of effort. Ideally, a well designed user interface would enable a user to access all features of the system that he/she requires without having to worry about the structures in the system.

Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. Graphical Techniques – –Using graphical techniquesto describe the design of the user interface involves drawing out every aspect of the proposed user interface to show how it is intended to look. – –Inevitably, some accompanying text will be needed to show how a particular menu or form layout fits into the overall system.

Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. Rapid Application Design Tools (RAD) – –RAD (Rapid Application Development) is a technique that enables developers to build working systems very quickly. In general, RAD environments provide a number of tools to help build graphical user interfaces that would otherwise take a long and lengthy development effort. – –Using RAD tools, the processes of design and implementation are concurrent. No detailed user interface design documentation is needed. Instead, the user interface is developed in a series of increments. End users evaluate each increment and make proposals for later developments.

Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. Rapid Application Design Tools (RAD) – –Development of a user interface using RAD relies on extensive user involvement. The early, effective and continued involvement of users in the development process is critical to the success of RAD. The involvement of users is an important factor in the early detection of errors, and in general, the earlier a defect is found, the less time and expense required to correct it. – –Many information systems are designed around a number of forms. Developing these forms manually is an extremely time consuming activity. RAD tools support the development of forms. Scripting languages such as Visual Basic enable developers to create a graphical user interface from a large library of standard components. These components can then be tailored to meet the specific needs of the system by adding code to control what happens when an event (such as a mouse click) occurs.

Description and exemplification of screen layout and user interfaces using graphical techniques or RAD tools. The use of RAD tools to design the user interface brings a number of benefits to the development. These include: – –intensive involvement of the end user in the design of the system – –prototyping is used to help users visualise the system and suggest adjustments to it – –the use of a CASE tools means that proven templates and components can be reused – –the use of CASE tools makes it easier to generate bug-free code – –users are involved in the implementation stage, allowing the details to be adjusted if necessary There can, however, be a number of drawbacks: – –it can be difficult to co-ordinate the development of a project that is being produced by a large team of developers – –complex dependencies between different parts of the system can lead to maintenance problems