Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:

Similar presentations


Presentation on theme: "Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:"— Presentation transcript:

1 Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Email: j.y.clark@surrey.ac.ukj.y.clark@surrey.ac.uk Course Website: www.computing.surrey.ac.uk/personal /st/J.Y.Clark/teaching/sad/cs183.html

2 Slide 2 Adapted from slides © 2005 John Wiley & Sons, Inc.

3 Slide 3 Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 9: Moving on to Design Chapter 11: Data Management Layer Design

4 Slide 4 Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 9: Moving on to Design

5 Slide 5 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is to figure out how to provide it. The steps in both analysis and design phases are highly interrelated and may require much “going back and forth”

6 Slide 6 Objectives ■ Understand the transition from analysis to design. ■ Be familiar with the custom, packaged, and outsource design alternatives. ■ Be able to create an alternative matrix.

7 Slide 7 OO Analysis and Design Foundation Use-case driven Architecture centric Iterative and incremental

8 Slide 8 OO Analysis and Design - Combining Three Views Functional use case diagrams Static class diagrams object diagrams Dynamic sequence diagrams behavioural state machines (state chart diagrams)

9 Slide 9 A “Minimalist” Approach Planning Gathering requirements Perform a series of “builds” Use results of each build as feedback for design and implementation

10 Slide 10 EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS

11 Slide 11 Avoid Classic Design Mistakes Reducing design time Feature creep Silver bullet syndrome Switching tools in mid-project

12 Slide 12 DESIGN STRATEGIES Custom Development Packaged Software System Integration Outsourcing

13 Slide 13 Custom Development Allows for meeting highly specialized requirements Allows flexibility and creativity in solving problems Easier to change components Builds personnel skills May stretch company’s resources May add significant risk

14 Slide 14 Packaged Software Software already written May be more efficient May be more thoroughly tested and proven May range from components to tools to whole enterprise systems Must accept functionality provided May require change in how the firm does business May require significant “customization” or “workarounds”

15 Slide 15 System Integration The process of combining packages, legacy systems, and new software Key challenge is integrating data Write data in the same format Revise existing data formats Develop “object wrappers”

16 Slide 16 Outsourcing Hire external firm to create system May have more skills May extend existing resources Never outsource what you don’t understand Carefully choose vendor Prepare contract and payment style carefully

17 Slide 17 Outsourcing Guidelines Keep lines of communication open with outsourcer Define and stabilize requirements before signing a contract View outsourcing relationship as partnership Select outsource vendor carefully Assign person to manage relationship Don’t outsource what you don’t understand Emphasize flexible requirements, long-term relationships, and short-term contracts

18 Slide 18 Selecting a Design Strategy Business need In-house experience Project skills Project management Time frame

19 Slide 19 The Alternative matrix Combines several feasibility analyses into one grid Revisits technical, economic, and organizational feasibility

20 Slide 20 Request for Proposals Description of the system you propose to be built Vendors, developers, service providers respond with proposals including how they will address needs as well as stating cost and time requirements.

21 Slide 21

22 Slide 22 Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 11: Data Management Layer Design

23 Slide 23 Objectives Become familiar with several object-persistence formats. Be able to apply the steps of normalization to a relational database. Be able to optimize a relational database for object storage and access.

24 Slide 24 Data Management Layer Choose object-persistence format to support the system Problem domain objects drive object storage design Design of Data Storage Must optimize processing efficiency Data access and manipulation Separate problem domain classes from storage format Handle all communication with the database

25 Slide 25 Object Persistence Formats Files (Sequential and Random) Relational databases Object-relational databases Object-oriented databases

26 Slide 26 Customer Order File

27 Slide 27 Sequential Access Files Sequential access files allow sequential operations Read, write, and search Efficient for report writing Searches are not efficient because an average of 50% of records have to be accessed Two versions  Ordered  unordered

28 Slide 28 Random Access Files Allow only random or direct file operations Good for finding and updating a specific object Inefficient report writing

29 Slide 29 Application File Types Master Files Look-up files Transaction files Audit file History file

30 Slide 30 Relational Databases Collection of tables Comprised of fields that define entities Primary key has unique values in each row of a table Foreign key is primary key of another table Tables related to each other Primary key field of a table is a field of another table and called a foreign key Relationship established by a foreign key of one table connecting to the primary key of another table

31 Slide 31 Database Management System (DBMS) Software that creates and manipulates a database RDBMS is a DBMS for a relational database RDBMS usually support Referential Integrity

32 Slide 32 Referential Integrity the idea of ensuring that values linking the tables together through the primary and foreign keys are valid and correctly synchronized.

33 Slide 33 Referential Integrity Example Cust. ID is a primary key for the customer table Cust. ID is a foreign key for the order table A violation of referential integrity would happen if an order was entered in the order table for a Cust. ID that had not been entered into the customer table first An RDBMS prevents such a record from being entered

34 Slide 34 Example of Referential Integrity

35 Slide 35 Structured Query Language (SQL) Standard language for accessing data in tables SQL Commands Create, edit, and delete tables Add, edit, and delete data Display data from one or more related tables Display data computed from data in one or more related tables

36 Slide 36 Criteria for Object Persistence Formats Data types supported Types of application systems (transaction processing, DSS, …) Existing Storage Formats Future Needs Other miscellaneous Criteria (cost, concurrency control, …)

37 Slide 37 Mapping RDBMS Tables to Problem Domain Classes

38 Slide 38 Optimize RDBMS Object Storage Redundant data Wastes space Allow more room for error Null values in tables Difficult to interpret

39 Slide 39 Example of Non-normalized Data

40 Slide 40 Normalization

41 Slide 41 Normalization Example Original Model

42 Slide 42 Normalization

43 Slide 43 2NF Normalized Model

44 Slide 44 Normalization

45 Slide 45 3NF Normalized Model

46 Slide 46 Problems with RDBMS To access data in multiple tables, the tables must be joined This can result in many database operations and lead to huge tables and slow processing

47 Slide 47 Speeding up access Denormalization – Adds data from one table to another in order to speed processing and eliminate a join operation Example: Add customer last name to order table to avoid joining order to customer to get just last name

48 Slide 48 Example

49 Slide 49 Clustering Interfile clustering Arrange records on storage media so that similar records are stored close together inter-file cluster would be similar to storing peanut butter, jelly, and bread next to each other in a grocery store since they are often purchased together.

50 Slide 50 Indexing An index in data storage is like an index in the back of a textbook; it is a mini table that contains values from one or more columns in a table and the location of the values within the table. A query can use an index to find the locations of only those records that are included in the query answer, and a table can have an unlimited number of indexes but too many can add overhead

51 Slide 51 Indexing Example

52 Slide 52 CD Selections Example Most of the data would be text and numbers Thus a relational database would be able to handle the data effectively However, images for the catalog require complex data objects for sound and video

53 Slide 53 CD Selections Example

54 Slide 54 Summary Object-persistence format Files (sequential or Random Access) Databases (RDBMS, ORDBMS, OODBMS) Map problem domain objects to Data Optimizing object storage Normalization Clustering, Indexes


Download ppt "Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:"

Similar presentations


Ads by Google