Download presentation
Presentation is loading. Please wait.
Published byMonica Harper Modified over 9 years ago
1
Design 2: System Architecture CS406 Tivoli 1
2
Overview Refined use cases Functionality Components Classes System Behavior Prototype
3
Refined Use Cases Convert Scripts - Without a GUI the user only has one interaction with the system
4
Component Overview XML parser Intermediate Script Representation Component Generator Script Converters
5
XML Parser Third party component Many free implementations available IBM, GNU, SUN, … We will wrap the component to produce blocks instead of tags Tag Block
6
XML Parser Class Diagram XML Parser -Internal Parser setFile(fileName:String) getBlock():String This is the third party component that we will wrap.
7
Intermediate Script Representation Designed and provided by us Provides us a generic way to deal with scripts internally Script Component class implements Visitor design pattern
8
Intermediate Script Representation class diagram Database Script -scriptComponents addComponent(component: ScriptComponent) getComponents():Vector Script Component visit(producer:ScriptProducer) Drop Table -tableName:String
9
Component Generator Designed and provided by us Takes XML blocks Produces Script Components Abstract Factory Design Pattern Singleton
10
Component Generator Class Diagram Component Generator generateComponent(block:String) :ScriptComponent
11
Script Converter Takes a intermediate representation and converts to text scripts Abstract base class which will be inherited from for each database platform
12
Script Converter Class Diagram Script Converter addBlock(block:Block) outputFile() #dropTable(name:String) #… many script elements
13
System Behavior: XML Parser :ScriptGenerator:XMLParser SpecifyFile (fileName) SetFile(fileName)
14
System Behavior: Specify Database Platforms :ScriptGenerator:ScriptConverter SpecifyPlatforms (platforms:text) 1:Create(dbType:text)
15
System Behavior: Internal Script Build :ScriptGenerator :Component :Script :XMLParser :ScriptConverter 3 addBlock(block) 2 create() 2.1 create() 2.1.1 create() :Component :Component Generator 3.1*comp:=generateComponent(block) 3.1.1 create() 1*block:=[for each block]getBlock()
16
System Behavior: Internal Script Build :ScriptGenerator :Component :Script :XMLParser :ScriptConverter 1*block:=[for each block]getBlock()3 addBlock(block) 2 create() 2.1 create() 2.1.1 create() 3.2 addComponent(comp) 3.2 add (comp) 4 writeScript() 4.1*:[for each component]comp::getComponent() :Component 4.2 visit(this) 4.2.1 dropTable(string) :File 4.3 write(string)
17
System Behavior: View Errors :ScriptGenerator:Reports 1:createReport() 2:populateReport() 3:displayReport()
18
Prototype Functionality DB2, Oracle, SQL Server Script Converters XML Parser Wrapper Component Converter (block- >Component) Components for many script operations: Create Table, Drop Table, Create View, etc…
19
Our Status Continuing to revise design Starting with high level code Considering some general implementation details
20
Finally Questions For Us?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.