Presentation is loading. Please wait.

Presentation is loading. Please wait.

Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Identifying boundary conditions, example Päivi Ovaska.

Similar presentations


Presentation on theme: "Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Identifying boundary conditions, example Päivi Ovaska."— Presentation transcript:

1 Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Identifying boundary conditions, example Päivi Ovaska

2 Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 2 Identifying boundary conditions  Decide how the system is started, initialized and shut down  Decide how we deal with major failures, such as data corruption

3 Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 3 Administration use cases of MyTrip

4 Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 4 Administration use cases  Modify the analysis model for MyTrip to include the administration use cases  ManageDrivers is invoked to add, remove and read data about drivers  ManageMaps is invoked to add, remove and update maps that are used to generate trips  ManageServer include all the functions necessary to start up and shutdown server  Example of StartServer use case description: Use case name StartServer Entry conditions 1. The PlanninServiceAdministrator log into the server machine Flow of events2. Upon successful login, the PlanningServiceAdministrator executes the startPlanningService command 3. If the PlanningService was previously shutdown normally, the server reads the list of legitimate Drivers and the index of active Trips and Maps. If the PlanningService had crashed, it notifies the PlanningServiceAdministrator and performs a consistency check on the MapDBStore

5 Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 5 Exit condition4. The PlanningService is available and waits for connections from RoutingAssistants

6 Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 6 Impacting to the subsystem decomposition  Adding new use cases can impact to the subsystem decomposition  In MyTrip use cases are added to the existing MapDBStoreSubsystem  The revision of MapDBStoreSubsystem description (changes in italics) MapDBStoreSubsystem The MapDBStoreSubsystem is responsible for storing maps and trips in a database for the PlanninSubsystem. The subsystem supports multiple concurrent driver and planning agents. When starting up, the MapDBStoreSubsystem detects if it was properly shutdown. If not, it performs a consistent check on the Maps and Trips and repairs corrupted data if necessary

7 Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 7 Exeption handling  In real life, when examining boundary conditions, we also need to investigate exceptional cases  Exception handling is the mechanism by which a system treats and exception  Exception can be  A user error  A hardware failure  A software bug  For the simplicity and the difficult of topic, let’s leave exception handling out the scope of these exercises


Download ppt "Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Identifying boundary conditions, example Päivi Ovaska."

Similar presentations


Ads by Google