Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 13, Configuration Management.

Similar presentations


Presentation on theme: "Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 13, Configuration Management."— Presentation transcript:

1 Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 13, Configuration Management

2 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Figure 13-1, Configuration management concepts. Controlled item * Version CM Aggregate * Configuration item ReleasePromotion RepositoryWorkspace * *

3 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Figure 13-2, An example of CM aggregates and configuration item. A320:CM Aggregate Wing:CIFly-by-wire SW:CILanding Gear:CM AggregateFuselage:CI Tire:CI

4 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Figure 13-3, Examples of baselines, revisions, and variants. A320-200:Revision A319:Baseline revised by First release A321:Baseline derived from Improved version including winglets 124 seat variant185 seat variant A320:Baseline

5 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Figure 13-4, Three digit version identification scheme. MUE.1.0.0:ReleaseMUE.1.2.1:ReleaseMUE.2.0.3:ReleaseMUE.0.0.1:Release First major release Second minor release with bug fixes Second major release with three series of bug fixes Alpha test release Three-digit version identification scheme ::=... ::=

6 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 revised by Main trunk revised by Branch 1.2.1 derived from merged with released as Figure 13-5, CVS version identification scheme. CVS version identification scheme ::=. ::=. | ::= MUE.1.1:ReleaseMUE.1.2:ReleaseMUE.1.3:Release1.2.1.1:Release 1.2.1.2:Release MUE.2.0:Release

7 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Figure 13-6, Change set representation of the MUE release history. MUE.1.0:Release emptyClassFix:ChangeSet dashedLineFix:ChangeSet interactionDiagram:ChangeSet MUE.1.1b:Release MUE.1.2:Release MUE.1.1a:Release emptyClassFix:ChangeSet dashedLineFix:ChangeSet applied to results in applied to results in applied to results in MUE.2.0:Release

8 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 Figure 13-7, MyCarParts subsystem decomposition and hardware allocation. :NClient :HomePC :Server :ServerHost :EClient :DealerPC The :ServerHost hosts the parts catalog server. The :DealerPC is the machine used by a dealer to order parts. The :DealerPC has often a higher bandwidth link to the server. The :Server enables client to retrieve lists of parts by criteria and part entries, to order parts, and to track client activity. The :EClient allows an expert user to find parts by part identifier, vehicle make and year, and order history. The :EClient is for high-volume clients, e.g., car repair shops. The :HomePC is the machine used by a car owner to order parts. The :HomePC is connected to the server via a modem. The :NClient enables a novice user to find parts by description and, in subsequent releases, by clicking on a vehicle map. The :NClient is for the occasional client, e.g., a car hobbyist.

9 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Data Schema:CI Server:CM Aggregate ODD:CM Aggregate Server ODD:CI EClient UM:CI NClient UM:CI NClient:CM Aggregate EClient:CM Aggregate Protocol:CI NClient RAD:CI Admin Manual:CI EClient RAD:CI NCLient ODD:CI EClient ODD:CI RAD:CM Aggregate User Manual:CM Aggregate SDD:CM Aggregate Figure 13-8, Configuration items and CM aggregates for myCarParts.

10 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Figure 13-9, Snapshot of the workspaces used by myCarParts developers. NClient UM.2.0:Promotion Tech Writer Workspace NClient RAD.2.0:Promotion Server.2.3:Promotion Server Workspace Data schema.2.1:Promotion Protocol.2.0:Promotion NClient RAD.2.0:Promotion Server.2.2:Promotion NClient.2.3:Promotion Novice Workspace NClient RAD.2.0:Promotion Protocol.2.0:Promotion Server 1.4:Promotion EClient.1.5:Promotion Expert Workspace EClient RAD.1.2:Promotion Protocol.1.0:Promotion

11 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Figure 13-10, Release process for the navigation map functionality of myCarParts.2.0. Novice Client TeamServer TeamQuality ControlDocumentation Team Repair Test new functionality Repair NClient.2.4:P NClient.2.5:P Test manual NClientRAD.2.0:P NClientUM.2.0:P NClientUM.2.1:P Server.2.3:P

12 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Figure 13-10, (continued from previous slide). Release process for the navigation map functionality of myCarParts.2.0 Novice Client TeamServer TeamQuality ControlDocumentation Team Repair Retest & ReleaseBeta test NClient.2.6:PServer.2.4:P NClientUM.2.1:P myCarParts.2.0:R

13 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Server.1.5:P Main trunk Server.1.5.1.1:P Response time branch Server.2.4:P Server.1.5.1.7:P Server.2.5:P Server.2.6:P... myCarParts.2.0:R myCarParts.2.1:R Server.2.5 Navigation map functionality Server.2.6 Improved response time Server.2.4 Navigation map release and improved response time for part retrieval for navigation map Figure 13-11, An example of branch

14 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 DBInterface.2.4 processPartReq() processMapReq() DBInterface.1.5.1.7 processPartReq() DBInterface.2.6 processPartReq() processMapReq() DBInterface.1.5 processPartReq() DBInterface.2.5 processPartReq() processMapReq() Server.1.5.1.7 this method is changed to access a cache instead of direct DB accesses Server.2.4 this method is added to process map requests Server.2.5 processPartReq() is taken from 1.5.1.7 processMapReq() is taken from 2.6 Server.1.5 Common promotion Server.2.6 processMapReq() is changed to access the cache instead of the DB directly. revises is merged into cache Figure 13-12, An example of merge for the DBInterface class of the myCarParts system.

15 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 Figure 13-13, Examples of redundant variants. Redundant team organization PC NClient:VariantPC GUI:CIPC Server Interface:CIPC Parts Catalog:CIMac NClient:VariantMac GUI:CIMac Server Interface:CIMac Parts Catalog:CI

16 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 Figure 13-13 (continued from previous slide). Example of variants sharing configuration items. Single project organization PC NClient:Variant Mac NClient:Variant Server Interface:CI Parts Catalog:CI Mac GUI:CI Mac TCP:CI PC TCP:CI Windows GUI:CI

17 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 Figure 13-14, An example of change management process. Request change Assess request Approve request Reject request Assign change Implement change Validate change AnybodyControl BoardDeveloperQuality Control [inconsistent with goals][consistent with goals] Team


Download ppt "Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 13, Configuration Management."

Similar presentations


Ads by Google