260 likes | 463 Views
Customizing. custom. Creating documents in Rose. Reports Show usage Show instances Show Participants in Use Case Documentation Report Show access violations Tools: Check Model. User interface changes.
E N D
Customizing custom
Creating documents in Rose • Reports • Show usage • Show instances • Show Participants in Use Case • Documentation Report • Show access violations • Tools: Check Model
User interface changes • Tools:Option updates the .rose.ini file so the settings you create are used for every model you open • Fonts • Diagram options • Toolbars • Window menu changes only the current session • tiles, cascade, arrange icons • View: Notation to change notation for this session only • Edit: Change line style to change lines for this session only • Change icons displayed on drawing palette • At bottom of icon bar, use right mouse button, and select Customize
Adding to the menus • In the .rose.ini file, add to the menus path a pointer to your menu file • See the sample cm integration menu file for an example • You can add to the Tools menu and the File:Units menu
The .rose.ini file • This stores information particular to one user • Code generator and analyzer • Menu customizations • Virtual path maps • These things are generally updated through the menus in Rose • We will see an example of editing the .rose.ini file in the multi-user section of the course
Rose scripts • Rose comes delivered with an API that allows read and write access to Rose models • The API is accessed through scripts written in Summit Basic • Use Tools:Open Scripts or Tools: New Script to bring up a script editor • Sample scripts are delivered with Rose • Scripts can be run from the editor window (interpret mode) • Scripts can also be compiled into executables • This is how they can be called from other scripts or from menus • The compiler is not delivered as an executable • Run the interpreter on the compiler to compile itself into an executable
Moving From Logical Modeling to Physical Modeling • Physical views • Component View • Depicts packages, components, and their relationships • There can be any number of component diagrams in a Rose model • Deployment View • Shows the relationship between nodes • There can only be one deployment diagram in a Rose model
The Main Component Diagram • The component model initially contains one component diagram • This diagram is called Main • The main component diagram is a view of the high level packages in the logical model • Each package is a collection of components • Dependencies between packages are shown using the dependency relationship • Packages in the component diagrams roughly correspond to directories in a file system (or subsystems in Apex) • Components roughly correspond to files in a file system
Additional Component Diagrams • Each package in the main Component Diagram will contain one or more component diagrams • Elements of the component diagrams • Application (EXE, a.out) • Application extension (DLL, .so) • Module (header file) • Module body (cpp, C file)
Assigning Logical Elements to Components • Packages in the logical view are mapped to packages in the component view • Classes in the logical view are mapped to components in the component view • Hint: Use drag and drop in the browser to make the assignments
The Deployment Model • The deployment view shows • The available communication paths between the nodes in the system • The allocation of processes to nodes • The deployment view contains ONE diagram
Database DBProcess Processes • A process is the execution of one thread of control • A large system can be broken into multiple processes or threads of control • A process executes on a node • Process names may be displayed on the Deployment Diagram
Scheduling • The type of process scheduling used by a processor may be specified in a Process Diagram • Preemptive (default) - high priority processes can preempt lower-priority processes that are currently executing • Nonpreemptive -- current process continues to execute until it relinquishes control • Cyclic -- control passes from one process to another • Executive -- an algorithm controls process scheduling • Manual -- processes are scheduled by the user outside of the system
Exercise<skip>: Additional Logical Packages • Add the following packages to the logical view • Database, Foundations, and Error Handling • The Error Handling and Foundations packages are global packages • Add the following dependencies • Database depends upon University Artifacts • Database depends upon People
Exercise <skip>: Interaction with Architecture Classes • Update the 揅reate a Course?Scenario to show the interaction of the classes with the new database classes as shown on the following page
Exercise <skip>: Component Packages • Create the following component packages • User Interface, Registration System, Database, Foundation Classes, and Errors • Create the following dependencies on the Main Component Diagram • User Interface depends upon Registration System • User Interface depends upon Database • Database depends upon Registration System • User Interface, Registration System and Error depend upon Foundation Classes • User Interface, Registration System and Database depend upon Errors
Exercise <delay>: Mapping Logical Packages to Component Packages • Map the logical packages to component packages as shown: Logical PackageComponent Package People People University Artifacts University Interfaces User Interface Foundations Foundation Classes Database Database Error Handling Errors
Exercise <skip/delay>: Mapping Classes to Components • Map the following classes to components • registrationUser -> regusr • student ->stud
Exercise <skip>: Deployment Diagram • Create the Deployment Diagram • Nodes • Main Computer, Dorm, Library, Main Building, Database • Connections • Main Computer to Dorm • Main Computer to Library • Main Computer to Main Building • Main Computer to Database