Home

Sub Phase: High

image

Contents

1. Invitation Janice Regan 2008 Access Control representation Depending on the amount and type of flexibility generality needed we can represent the access matrix as 4 When the number of actors or objects is large methods 1 2 3 may not be practical In such a case set of rules can be used to control access e g a firewall Before using the access control the user must be authenticated to the system Usually use username and password known only by the user themselves Login over an unsecured network may also need encryption to assure security and prevent forging of login packets Janice Regan 2008 pe Design of Control Flow Three approaches Procedure driven Procedures wait for input from user Not generally compatible with OO languages Event driven Main loop waits for events sends them to objects Threads Concurrent multiple processes at one time version of procedure driven Janice Regan 2008 am Identify boundary conditions Configuration when is each object created or destroyed How is each component of the system started How is each component of the system shut down How does the system deal with error conditions exceptions Janice Regan 2008 E Is data persistence required Are there pieces of information that need to be remembered when the application is not actually in use Persistent data outlive a single
2. 4 normal form remove partial dependencies 3 normal form remove transitive dependencies Janice Regan 2008 EEE Why fixed length records Minimizes fragmentation of the file If record 2 is removed a R Record 3 unused space In the file will be created eee Any new record may be put in that unused space because all records have the same length the new record completely fills the space created by removal of the previous record Fragmentation is not a problem Janice Regan 2008 19 Why fixed length records No need to have special support to find the beginning of the next record If you know the record length you know where each record begins Can easily find any record record n starts a n atk Janice Regan 2008 Hl Without fixed length records Fragmentation becomes a problem If record 2 is removed a unused space in the file will be created The next new record may be put in that unused space if it is small enough the new record may not fill the gap Gaps are created between records gt fragmentation Janice Regan 2008 20 Without fixed length records Special support to find the beginning of the next record You must keep track of where each record begins and ends Need a table of contents or must step through all records Janice Regan 2008 21
3. Sub Phase High Level Design From Requirements Analysis to User Manual system Design Ml Map of design phase DESIGN ee LOW LEVEL HIGH LEVEL DESIGN Data Persistance Subsystem Module Interfaces Classes Class Interfaces Modularization Interaction Diagrams N architecture Ser Interfaee User Manual Implementation 3 Janice Regan 2008 n Activities for high level design Decide on an architecture model to work with Modularize Divide your application into subsystems modules Design your user interface If data persistence is required Determine which data needs to be persistent Decide on a solution for dealing with that persistent data Refine your use cases Add User interface interaction details Add Database solution interaction details Describe the interfaces between subsystems Janice Regan 2008 _ eee Objectives of System Design The design phase produces a system model That is based on specific design goals for the designers That defines architecture and Subsystem design Identifying subsystems modules manageable parts Identifying architecture hardware software Data management mapping Access control flow control sequencing operations That describes boundary use cases Initialization termination configuration exception handling Janice Regan 2008 pe Design goals When assessing design goals consider Sel
4. ach column called an attribute contains the value of that particular attribute for each tuple in the relation Several tuples in diff tables may contain attributes of individual object not object based Eg Patron s Name AddressLibrary guneSmith 123456 4 1 1 tuple 1 relation Jo Zhang 987655 l i s Advantage mature technology stable application Disadvantage high cost performance bottleneck not object Janice Regan 2008 oriented Object Persistence Problem How to go back and forth between objects held in memory and storage entities on disk when these storage entities are not object oriented STUDENT COURSE 2010101 010111 J Doe K Lu 3 Ace St 88 B Rd Eng 10 Math 101 COURSE Title credits Math 101 Calculus 3 2010101 Eng 10 ESL 3 2010111 anice Regan 2008 H Object Oriented DBMS Provides services similar to relational DB Stores data as objects and associations Higher level of abstraction no need to translate between objects and relations advantage provides inheritance and abstract data types Disadvantages slower than relational DB less mature technology Janice Regan 2008 E What solution is appropriate Choose a file when Voluminous data e g images Low information density e g archives logs Choose a database when Concurrent access Multiple applications over same data Choose a rela
5. arian What data do not need to be persistent Overdue fine information Overdue letters Search results Janice Regan 2008 10 Flat Files Storage abstractions provided by OS Application stores data as sequence of bytes defines how and when data is retrieved updated Low level data storage Advantage give application control over data storage e g size Disadvantage application must take care of many issues concurrent accesses recovery from system crash Janice Regan 2008 eee Database Management System DBMS Security hacker proof Recovery from crash Information growth Solution still works with increased data volume Concurrency Concurrency solution allows for increased users Software systems that operate on data can do so in a consistent fashion Efficient queries on large data set Janice Regan 2008 11 Context of a database Self Implemented Data Storage Solution Part of application Subsystem 1 Subsystem 2 L filestore Subsystem 3 Janice Regan 2008 Context of a database Commercial DBMS Used by application not directly part of application Subsystem 1 CA Subsystem 2 filestore DB interface Subsystem 3 Janice Regan 2008 12 Relational DBMS Data stored in structured tables called relations Each row is a record called a tuple each tuple contains the values of a list of attributes E
6. ection of existing components off the shelf modules or components Hardware software mapping Are there multiple nodes or systems What is each node responsible for selecting solutions for managing persistent data Access control policies Control flow on a solution wide basis Boundary conditions startup error shutdown Janice Regan 2008 Design goals System decomposition Identify design goals choose aspects of the system to be optimized Design goals are often derived from non functional requirements Guide designers in assessing trade offs Develop and refine a subsystem decomposition that satisfies the maximum number of design goals and or the most critical design goals Refine the decomposition to better satisfy the design goals Janice Regan 2008 m Selecting platform mapping 1 First need to decide if the system resides on one computer or on multiple computers in the same location or separated and connected through the Internet Next need to select an appropriate hardware configuration and operating system virtual machine Next need to select any other external software components database package communication package Janice Regan 2008 _ eee Allocating subsystems mapping 2 Next we consider the subsystems modules in our system and allocate modules to appropriate nodes virtual machines If objects belong to more than one module t
7. execution of the software system What data need to be persistent We know some of our data should be persistent How to we assure the data is persistent Store data between executions of the software system How Janice Regan 2008 16 _ eee Example 1 data persistence You are designing an application which supports users in writing documents a word processor Users do not wish to type their entire document each time they use the word processor The word processor creates a file The file is saved when the user leaves the word processor The file is loaded into the word processor when a user wishes to continue with editing the document The data file containing document is persistent It is not necessary for the word processor to be running for the file to exist Janice Regan 2008 c IH Data Persistence Persistent data outlive a single execution of the software system Done by storing data In files on external storage medium In database Janice Regan 2008 Data Persistence Does our application need data persistence Which data need to be persistent How should this data be stored How is this external storage medium managed What tools are to be used to manage the persistent data Can all data reside in memory at once Janice Regan 2008 E LMS example Data persistence What data need to be persistent Patron Resource Libr
8. hen they may need to communicate between modules or even between virtual machines This communication can often be supported and made more efficient using the proxy design pattern Janice Regan 2008 m N Proxy Pattern _ Proxy object Real object amp Protection or Image proxy enhances efficiency Proxy object is similar same interface to real object only contains items like checks for permission to use methods or specifications of image Only when permission is allowed or the actual image is accessed is the real object used Janice Regan 2008 _ a Access Control In a multi user system it is common for different users actors to have access to different functions of the system or different parts of the data In most general case need to identify which methods of any shared object can be accessed by each sharing user Have a matrix of access information class or method on one axis user type on the other Janice Regan 2008 Access Control representation Depending on the amount and type of flexibility generality needed we can represent the access matrix as 1 A global access table explicitly list access or no access for each operation class user tuple 2 An access control list to control if an object method in an object can be accessed by a particular user e g Guest List 3 A capability to indicate if a user may access a particular method or object e g
9. ncrease changeability Allows easy substitution of different data stores Makes your solution vendor independent Disadvantage Reduce performance Janice Regan 2008 High Level Design Summary Divide your software system into subsystems Design your user interface Decide on data persistence solution Refine your use cases by adding Ul details DB details Describe inter subsystems interfaces Janice Regan 2008 Every module is characterized by its knowledge of a design decision which it hides from all others Its interface or definition was chosen to reveal as little as possible about its inner workings Parnas Communications of the ACM 1972 Janice Regan 2008 MH Data Persistence Solution 1 Build DB subsystem classes that encapsulates disk files Random access file 1 0 library gt file handle Tutorial Binary Random Access I O in Java on Course Web Site File contains unsorted records of fixed length why Build public interface for that class Must provide adequate functionality get add remove Janice Regan 2008 18 Data Persistence Solution 2 Advantage can change file format and organization e g could use sorted records or B Tree rest of software system unaffected by this change How to transform objects into relational records of fixed length Normalization 1 normal form fixed length records 2
10. tional database when Large data set Complex queries over attributes Choose OO database when Medium size data set Irregular associations among objects Based on p 269 of Bruege amp Dutoit Janice Regan 200 14 Te LMS Case Study Object Persistence LMS may contain 1000 s of resources These records cannot all live in memory A DBMS is called for to provide Concurrent access by multiple users Security enforcement of different access levels for various user categories Allow for increased data capacity Janice Regan 2008 SS LMS Case Study Relational Representation of Data Book Relational Tables Patron Resource List Patron Address Janice Regan 2008 isisisi Encapsulating Data Storage Once storage mechanism is selected encapsulate it into a module then define interface between that module and the storage mechanism Open Database Connectivity ODBC application programming interface API Java Database Connectivity J DBC application programming interface API Both use Structured Query Language SQL as their database access language Janice Regan 2008 31 Context of a database Commercial DBMS Used by application not directly part of application Subsystem 1 Subsystem 2 filestore DB interface Subsystem 3 Janice Regan 2008 16 IH Encapsulating Data Storage Advantage I

Download Pdf Manuals

image

Related Search

Related Contents

Guía del usuario  Olivetti Fax_Lab 710  HoMedics MT-PA massager  INVISIO X50 User Guide  AutoTrac Universal (ATU) - stellarsupport global  dictionnaire français/anglais - Franklin Electronic Publishers, Inc.  Guide de mise en œuvre de la partie sans  User Manual PIT-1702  FIA Tech Electronic Give-Up Automated Invoicing System (eGAINS  Ewent EW2675  

Copyright © All rights reserved.
Failed to retrieve file