170 likes | 181 Views
Explore controlled items, versions, promotion, and releases in Configuration Management, illustrated through examples and version identification schemes.
E N D
Figure 13-1, Configuration management concepts. * Controlled item * Version CM Aggregate Configuration item * Promotion Release * Workspace Repository
A320:CM Aggregate Fly-by-wire SW:CI Landing Gear:CM Aggregate Fuselage:CI Wing:CI Tire:CI Figure 13-2, An example of CM aggregates and configuration item.
First release A320:Baseline A320-200:Revision A319:Baseline A321:Baseline 124 seat variant 185 seat variant Figure 13-3, Examples of baselines, revisions, and variants. revised by derived from derived from Improved version including winglets
Alpha test release MUE.0.0.1:Release MUE.1.0.0:Release First major release Second minor release MUE.1.2.1:Release with bug fixes Second major MUE.2.0.3:Release release with three series of bug fixes Figure 13-4, Three digit version identification scheme. Three-digit version identification scheme <version> ::= <configuration item name>.<major>.<minor>.<revision> <major> ::= <nonnegative integer> <minor> ::= <nonnegative integer> <revision> ::= <nonnegative integer>
MUE.1.1:Release MUE.1.2:Release MUE.1.3:Release 1.2.1.1:Release 1.2.1.2:Release MUE.2.0:Release CVS version identification scheme <version> ::= <configuration item name>.<version identifier> <version identifier> ::= <branch>.<revision> <branch> ::= <version identifier>.<branch number> | <branch number> <branch number> ::= <nonnegative integer> <revision> ::= <nonnegative integer> Figure 13-5, CVS version identification scheme. Main trunk revised by derived from Branch 1.2.1 revised by merged with revised by released as
Figure 13-6, Change set representation of the MUE release history. MUE.1.0:Release applied to applied to emptyClassFix:ChangeSet dashedLineFix:ChangeSet results in results in MUE.1.1a:Release MUE.1.1b:Release applied to applied to emptyClassFix:ChangeSet dashedLineFix:ChangeSet results in results in MUE.1.2:Release applied to interactionDiagram:ChangeSet results in MUE.2.0:Release
:DealerPC :ServerHost :EClient :Server :HomePC :NClient Figure 13-7, MyCarParts subsystem decomposition and hardware allocation. The :DealerPC is the machine used by a dealer to order parts. The :DealerPC has often a higher bandwidth link to the server. 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 :Server enables client to retrieve lists of parts by criteria and part entries, to order parts, and to track client activity. The :ServerHost hosts the parts catalog server. 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.
Figure 13-8, Configuration items and CM aggregates for myCarParts. NClient:CM Aggregate RAD:CM Aggregate NClient RAD:CI NClient UM:CI NCLient ODD:CI ODD:CM Aggregate EClient:CM Aggregate EClient RAD:CI EClient UM:CI User Manual:CM Aggregate EClient ODD:CI Server:CM Aggregate Server ODD:CI SDD:CM Aggregate Admin Manual:CI Protocol:CI Data Schema:CI
Figure 13-9, Snapshot of the workspaces used by myCarParts developers. Server Workspace NClient RAD.2.0:Promotion Tech Writer Workspace Protocol.2.0:Promotion NClient RAD.2.0:Promotion Data schema.2.1:Promotion NClient UM.2.0:Promotion Server.2.3:Promotion Expert Workspace Novice Workspace NClient RAD.2.0:Promotion EClient RAD.1.2:Promotion Protocol.2.0:Promotion Protocol.1.0:Promotion NClient.2.3:Promotion EClient.1.5:Promotion Server.2.2:Promotion Server 1.4:Promotion
Server.2.3:P NClient.2.4:P NClientRAD.2.0:P Test new functionality Repair NClient.2.5:P NClientUM.2.0:P Test manual Repair NClientUM.2.1:P Figure 13-10, Release process for the navigation map functionality of myCarParts.2.0. Novice Client Team Server Team Quality Control Documentation Team Team
Novice Client Team Server Team Quality Control Documentation Team Team NClientUM.2.1:P Beta test Repair Repair NClient.2.6:P Server.2.4:P Retest & Release myCarParts.2.0:R Figure 13-10, (continued from previous slide). Release process for the navigation map functionality of myCarParts.2.0
Figure 13-11, An example of branch Main trunk Response time branch Server.1.5:P ... Server.1.5.1.1:P myCarParts.2.0:R ... Server.2.4:P Server .2.4 Navigation map release Server.1.5.1.7:P Server.2.5:P Server .2.5 Navigation map functionality and improved response myCarParts.2.1:R time for part retrieval Server.2.6:P Server .2.6 Improved response time for navigation map
Figure 13-12, An example of merge for the DBInterface class of the myCarParts system. DBInterface.1.5 Server .1.5 Common promotion processPartReq() revises revises DBInterface.2.4 DBInterface.1.5.1.7 cache processPartReq() processPartReq() processMapReq() Server .1.5.1.7 Server .2.4 this method is changed to this method is added to access a cache instead process map requests is merged into is merged into of direct DB accesses DBInterface.2.5 cache processPartReq() processMapReq() Server .2.5 processPartReq() is taken from 1.5.1.7 processMapReq() is taken from 2.6 revises DBInterface.2.6 Server .2.6 cache processMapReq() is changed to access the cache instead of the DB directly . processPartReq() processMapReq()
Mac NClient:Variant PC NClient:Variant Mac GUI:CI PC GUI:CI Mac Parts Catalog:CI PC Parts Catalog:CI Mac Server Interface:CI PC Server Interface:CI Figure 13-13, Examples of redundant variants. Redundant team organization
Single project organization Mac NClient:Variant PC NClient:Variant Mac GUI:CI Windows GUI:CI Parts Catalog:CI Mac TCP:CI Server Interface:CI PC TCP:CI Figure 13-13 (continued from previous slide). Example of variants sharing configuration items.
Figure 13-14, An example of change management process. Anybody Control Board Developer Quality Control Team Request change Assess request [inconsistent with goals] [consistent with goals] Reject request Approve request Assign change Implement change Validate change