Figure 7-1, The activities of system design. Define design goals Define subsystems Implement subsystems Map subsystems to hardware/ software platform Manage persistent data Define access control policies Select a global control flow Describe boundary conditions Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Figure 7-2, A UML deployment diagram representing the allocation of components to different nodes and the dependencies among components. myMac:Mac :UnixHost :Safari aPC:PC :IExplorer Bernd Bruegge & Allen H. Dutoit :WebServer :UnixHost :Database Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Figure 7-3, Refined view of the WebServer component. WebServer GET URL POST DBQuery HttpRequest File Bernd Bruegge & Allen H. Dutoit DBResult Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Figure 7-4, Allocation of MyTrip subsystems to hardware. :OnBoardComputer :WebServer RoutingSubsystem Bernd Bruegge & Allen H. Dutoit PlanningSubsystem Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Figure 7-5, Revised design model for MyTrip. PlanningSubsystem RoutingSubsystem RouteAssistant PlanningService Trip Location TripProxy Destination Direction Crossing SegmentProxy Segment CommunicationSubsystem Message Connection Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Figure 7-6, Subsystem decomposition of MyTrip after deciding on the issue of data stores. RoutingSubsystem PlanningSubsystem CommunicationSubsystem TripFileStoreSubsystem Bernd Bruegge & Allen H. Dutoit MapDBStoreSubsystem Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Figure 7-8, Packet filtering firewall: a filter, located at the router, allows or denies individual packets based on header information, such as source and destination. Intranet host Internet Firewall Web Server Mail Server Internet host Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Figure 7-9, Dynamic access implemented with a protection Proxy. Access isAccessible(op) Broker 1 * PortfolioProxy buy() sell() 1 estimateYield() Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java Portfolio buy() 1 sell() estimateYield() 8 Figure 7-10, Passive attack. Given current technology, it is relatively easy for a passive intruder to listen to all network traffic. To prevent this kind of attack, encryption makes the information an intruder sees difficult to understand. Intruder Legitimate User Server Plaintext message CC# 1234 5678 9012 3456 EXP 8/99 Encrypted message XZ<ASL@#34HF*(*A2135SDA*}BKDAWR#%_AS2255 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Figure 7-14, Administration use cases for MyTrip. ManageDrivers <<include>> PlanningService Administrator ManageMaps StartServer <<include>> ManageServer ShutdownServer <<include>> ConfigureServer Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Figure 7-18, ARENA subsystem decomposition, game organization part. Interface ArenaClient Application Logic ArenaServer GameManagement UserManagement TournamentManagement AdvertisementManagement Notification Storage ArenaStorage Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Figure 7-19, ARENA subsystem decomposition, game playing part. MatchFrontEndPeer TournamentManagement GameManagement GamePeer AdvertisementManagement Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Figure 7-20, ARENA hardware/software mapping. :UserMachine :ArenaClient :ServerMachine :ArenaServer :ArenaStorage :MatchFrontEndPeer :AdvertisementServer :GamePeer Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13