Presentation is loading. Please wait.

Presentation is loading. Please wait.

Configuration Management Structured System Design II – 302 Lecture # 27 – 2003-04-28 The Last Lecture of the Course! M. E. Kabay, PhD, CISSP Dept of Computer.

Similar presentations


Presentation on theme: "Configuration Management Structured System Design II – 302 Lecture # 27 – 2003-04-28 The Last Lecture of the Course! M. E. Kabay, PhD, CISSP Dept of Computer."— Presentation transcript:

1

2 Configuration Management Structured System Design II – 302 Lecture # 27 – 2003-04-28 The Last Lecture of the Course! M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University mkabay@norwich.edu

3 2 Copyright © 2003 M. E. Kabay. All rights reserved. Topics  Configuration Management Planning Configuration Management Planning  Change Management Change Management  Version and Release Management Version and Release Management  System Building System Building  CASE Tools for Configuration Management CASE Tools for Configuration Management

4 3 Copyright © 2003 M. E. Kabay. All rights reserved. Configuration Management  Managing products of system change

5 4 Copyright © 2003 M. E. Kabay. All rights reserved. Configuration Management (1)  New versions of software systems created as they change  For different machines/OS  Offering different functionality  Tailored for particular user requirements  Configuration management concerned with managing evolving software systems  System change a team activity  CM aims to control costs and effort involved in making changes to a system

6 5 Copyright © 2003 M. E. Kabay. All rights reserved. Configuration Management (2)  Development and application of  Procedures and standards to  Manage an evolving software product  Part of more general quality management process  When released to CM, software systems sometimes called baselines  Starting point for further development

7 6 Copyright © 2003 M. E. Kabay. All rights reserved. System Families

8 7 Copyright © 2003 M. E. Kabay. All rights reserved. CM Standards  CM should always be based on set of standards applied within an organization  Standards should define how  Items identified  Changes controlled and  New versions managed  Standards may be based on external CM standards (e.g. IEEE standard for CM)  Existing standards based on a waterfall process model  New standards needed for evolutionary development

9 8 Copyright © 2003 M. E. Kabay. All rights reserved. Concurrent Development and Testing  Agree on time for delivery of system components  Build new version of system  From these components  By compiling and linking them  New version delivered for testing  Using pre-defined tests  Faults discovered during testing:  Document  Return to system developers

10 9 Copyright © 2003 M. E. Kabay. All rights reserved. Daily System Building  Continuous regression testing  Easier to find problems stemming from component interactions early in process  Encourages thorough unit testing  Developers under pressure not to ‘break build’  Stringent change management process  Keep track of problems that have been discovered and repaired

11 10 Copyright © 2003 M. E. Kabay. All rights reserved. Configuration Management Planning (1)  All products of software process may have to be managed  Specifications  Designs  Programs  Test data  User manuals  Thousands of separate documents generated for a large software system

12 11 Copyright © 2003 M. E. Kabay. All rights reserved. CM Planning (2)  Starts during early phases of project  Formal documents  Define documents or document classes which are to be managed  Include documents for future system maintenance

13 12 Copyright © 2003 M. E. Kabay. All rights reserved. CM Plan: Definition Phase  Types of documents to be managed  Document naming scheme  Who takes responsibility for CM procedures and creation of baselines  Policies for change control and version management  CM records which must be maintained

14 13 Copyright © 2003 M. E. Kabay. All rights reserved. CM Plan: Tools  Describes tools which should be used to assist CM process  Including any limitations on their use  Defines  Process of tool use  CM database used to record configuration information  May include information such as  CM of external software,  process auditing, etc.

15 14 Copyright © 2003 M. E. Kabay. All rights reserved. Configuration Item Identification  Large projects typically produce thousands of documents which must be uniquely identified  Some of these documents must be maintained for lifetime of software  Document-naming scheme should be defined so related documents have related names.  A hierarchical scheme with multi-level names probably most flexible approach

16 15 Copyright © 2003 M. E. Kabay. All rights reserved. Configuration Hierarchy

17 16 Copyright © 2003 M. E. Kabay. All rights reserved. Configuration Database  All CM information should be maintained in a configuration database  Should allow queries about configurations to be answered  Who has a particular system version?  What platform required for a particular version?  What versions affected by a change to specific component?  How many reported faults in version?  CM database should preferably be linked to software being managed (see next slide)

18 17 Copyright © 2003 M. E. Kabay. All rights reserved. CM Database Implementation  May be part of an integrated environment to support software development.  CM database and managed documents all maintained on same system  CASE tools may be integrated  Close relationship between CASE tools and CM tools  More commonly,  CM database maintained separately  Cheaper and more flexible

19 18 Copyright © 2003 M. E. Kabay. All rights reserved. Topics  Configuration Management Planning  Change Management  Version and Release Management  System Building  CASE Tools for Configuration Management

20 19 Copyright © 2003 M. E. Kabay. All rights reserved. Change Management  Software systems subject to continual change requests  From users  From developers  From market forces  Change management concerned with  Managing these changes  Ensuring cost-effective implementation

21 20 Copyright © 2003 M. E. Kabay. All rights reserved. Change Management Process

22 21 Copyright © 2003 M. E. Kabay. All rights reserved. Change-Request Form (1)  Records suggestion / request  Change required  Suggester of change  Reason for suggested change  Urgency of change  Records analysis / response  Change evaluation  Impact analysis  Change cost  Recommendations from suggester’s point of view from system maintenance staff point of view

23 22 Copyright © 2003 M. E. Kabay. All rights reserved. Change Request Form (2)

24 23 Copyright © 2003 M. E. Kabay. All rights reserved. Change Request Form (3)

25 24 Copyright © 2003 M. E. Kabay. All rights reserved. Change Request Form (4)

26 25 Copyright © 2003 M. E. Kabay. All rights reserved. Change-Tracking Tools  Tracking change status  How far along is a particular change request?  Major problem in change management  Change-tracking tools  Keep track of status of each change request  Automatically ensure change requests sent to right people at right time  Integrated with E-mail systems  Electronic change-request distribution

27 26 Copyright © 2003 M. E. Kabay. All rights reserved. Change-Control Board  External group  May include representatives from client and contractor staff  Independent of project  Responsible for system  Decide whether or not proposed changes are cost-effective  Strategic and organizational viewpoint  Rather than a technical viewpoint  Should it be done, not just can it be done

28 27 Copyright © 2003 M. E. Kabay. All rights reserved. Derivation History  Record of changes applied to a document or code component  Change made  Rationale for change  Who made change  When it was implemented  May be included as a comment in code  Standard prologue style may be used for derivation history (see next slide)  Change-management tools can process automatically for reports

29 28 Copyright © 2003 M. E. Kabay. All rights reserved. Component Header Information

30 29 Copyright © 2003 M. E. Kabay. All rights reserved. Topics  Configuration Management Planning  Change Management  Version and Release Management  System Building  CASE Tools for Configuration Management

31 30 Copyright © 2003 M. E. Kabay. All rights reserved. Version and Release Management  Invent identification scheme for system versions  Plan when new system version to be produced  Ensure version management procedures and tools properly applied  Plan and distribute new system releases

32 31 Copyright © 2003 M. E. Kabay. All rights reserved. Versions/Variants/Releases  Version  Instance of a system functionally distinct in some way from other system instances  Variant  Functionally identical but non-functionally distinct from other instances of a system  Release  Distributed to users outside of development team

33 32 Copyright © 2003 M. E. Kabay. All rights reserved. Version Identification  Unambiguous way of identifying component versions  Three basic techniques for component identification  Version numbering  Attribute-based identification  Change-oriented identification

34 33 Copyright © 2003 M. E. Kabay. All rights reserved. Version Numbering  Names (“Alpha”, “Cougar”) not meaningful  Hierarchical naming scheme may be better  Simple naming scheme uses a linear derivation  e.g. V1, V1.1, V1.2, V2.1, V2.2 etc.  Actual derivation structure a tree or a network rather than a sequence

35 34 Copyright © 2003 M. E. Kabay. All rights reserved. Version Derivation Structure Don’t make assumptions about origins based on version numbers

36 35 Copyright © 2003 M. E. Kabay. All rights reserved. Attribute-Based Identification  Attributes can be associated with a version  Combination of attributes identifies version  Examples of attributes  Date, Creator, Programming Language, Customer, Status etc.  More flexible than an explicit naming scheme for version retrieval  But can cause problems with uniqueness  Needs an associated name for easy reference

37 36 Copyright © 2003 M. E. Kabay. All rights reserved. Attribute-Based Queries  Important advantage of attribute-based identification:  Can support queries  Can find ‘ most recent version in Java’ etc.  Example: AC3D  language =Java  platform = NT4  date = Jan 1999

38 37 Copyright © 2003 M. E. Kabay. All rights reserved. Change-Oriented Identification  Integrates versions and changes made to create these versions  Used for systems rather than components  Each proposed change assigned to a change set  Applied in sequence to a baseline version  Any version of system incorporating any arbitrary set of changes may be created  Similar in concept to change-log for insurance policies Can reconstitute policy at any time by implementing changes one by one

39 38 Copyright © 2003 M. E. Kabay. All rights reserved. Release Management  Releases incorporate changes forced on system  Errors discovered by users  Operating system changes  Hardware changes  New system functionality  Release planning concerned with when to issue a system version as a release

40 39 Copyright © 2003 M. E. Kabay. All rights reserved. System Releases  Not just a set of executable programs  May also include  Configuration files defining how release configured for particular installation  Data files needed for system operation  An installation program or shell script to install system on target hardware  Electronic and paper documentation  Packaging and associated publicity  Systems now normally released on CD-ROM or as downloadable installation files from Web

41 40 Copyright © 2003 M. E. Kabay. All rights reserved. Release Problems  Customer may not want a new release of system  Current system may be adequate / stable  New version may provide unwanted functionality  New versions may have bad reputation for poor quality assurance  What is the baseline for installing new version?  Not all previous releases may have been installed  Release should be self-contained: all needed files re-created when a new release installed

42 41 Copyright © 2003 M. E. Kabay. All rights reserved. Release Decision-Making  Preparing and distributing a system release an expensive process  Factors influencing decision of when to issue a new system release  Customer change requests  Technical quality Of existing system (consider legal liability for execrable code) Of new version  Competition  Marketing requirements

43 42 Copyright © 2003 M. E. Kabay. All rights reserved. System Release Strategy

44 43 Copyright © 2003 M. E. Kabay. All rights reserved. Release Creation  Release creation  Collect all files and documentation required to create a system release  Configuration descriptions  Write for different hardware  Write installation scripts  Specific release must be documented  Exactly what files used to create it  Allows it to be re-created if necessary

45 44 Copyright © 2003 M. E. Kabay. All rights reserved. Topics  Configuration Management Planning  Change Management  Version and Release Management  System Building  CASE Tools for Configuration Management

46 45 Copyright © 2003 M. E. Kabay. All rights reserved. System Building  Process of compiling and linking software components into an executable system  Different systems built from different combinations of components  Invariably supported by automated tools driven by ‘build scripts’

47 46 Copyright © 2003 M. E. Kabay. All rights reserved. System-Building Problems (1)  Do build instructions include all required components?  When there many hundreds of components making up a system, easy to miss one  Should normally be detected by linker  Appropriate component version specified?  More significant problem  System built with wrong version may work initially but fail after delivery  All data files available?  Do not rely on ‘standard’ data files  Standards vary from place to place

48 47 Copyright © 2003 M. E. Kabay. All rights reserved. System-Building Problems (2)  Data file references within components correct?  Embedding absolute names in code almost always causes problems  File-naming conventions differ from place to place  System being built for right platform?  Specific OS version or hardware configuration  Right version of compiler and other software tools specified?  Different compiler versions may generate different code  Compiled component will exhibit different behavior under different compilers

49 48 Copyright © 2003 M. E. Kabay. All rights reserved. System Building

50 49 Copyright © 2003 M. E. Kabay. All rights reserved. System Representation  Where are the components for the build?  Usually specifying file name to be processed by building tools  Dependencies between these described to building tools  But programmers can lose track of which objects stored in which files – cause errors  System modeling language addresses problem  Uses logical rather than physical system representation; e.g., input_module_source instead of input_module.c  Map to a database which translates self- describing names into specific files automatically

51 50 Copyright © 2003 M. E. Kabay. All rights reserved. Topics  Configuration Management Planning  Change Management  Version and Release Management  System Building  CASE Tools for Configuration Management

52 51 Copyright © 2003 M. E. Kabay. All rights reserved. CASE Tools for Configuration Management  CM processes standardized and involve applying pre-defined procedures  Large amounts of data must be managed  CASE tool support for CM therefore essential  Mature CASE tools to support configuration management available ranging from  Stand-alone tools to  Integrated CM workbenches

53 52 Copyright © 2003 M. E. Kabay. All rights reserved. Change-Management Tools  Change management a procedural process  Can be modeled and integrated with a version- management system  Change-management tools  Form editor Support processing of change-request forms  Workflow system Define who does what Automate information transfer  Change database Manages change proposals Linked to version-management system

54 53 Copyright © 2003 M. E. Kabay. All rights reserved. Version-Management Tools  Version and release identification  Assign identifiers automatically when a new version submitted to system  Storage management  Stores differences between versions  Allows recovery of previous versions  Change-history  Record reasons for version creation  Independent development  Only one version of specific component may be checked out for change – prevent trashing  Supports parallel work on different versions See next slide

55 54 Copyright © 2003 M. E. Kabay. All rights reserved. Delta-Based Versioning

56 55 Copyright © 2003 M. E. Kabay. All rights reserved. System Building  Building a large system computationally expensive – may take several hours  Hundreds of files may be involved  System building tools may provide  A dependency-specification language and interpreter  Tool selection and instantiation support  Distributed compilation  Derived object management

57 56 Copyright © 2003 M. E. Kabay. All rights reserved. Dependency-Specification Language and Interpreter  Keep track of all relationships among components  Database models recursion ComponentParentChild A-B BAC CB- ComponentAttributes A… B… C…

58 57 Copyright © 2003 M. E. Kabay. All rights reserved. Component Dependencies Progra m Object modules Source code modules Declaration s file

59 58 Copyright © 2003 M. E. Kabay. All rights reserved. Tool Selection and Instantiation Support  May need different compilers for different modules  C++, C, Pascal, Forth, Ada, Fortan, Cobol…  Different versions of compilers  May require specific libraries for particular modules  Standard I/O libraries  GUI functions  Statistical routines  Can keep track of requirements & activate as needed

60 59 Copyright © 2003 M. E. Kabay. All rights reserved. Distributed Compilation  Parallel processing  Use available processors on network  Initiate and control parallel compilations on different computers  Assemble results  Can be much faster than relying on a single processor

61 60 Copyright © 2003 M. E. Kabay. All rights reserved. Derived Object Management  For every component, identify whether it needs to be recompiled  Don’t recompile modules without changes  Don’t re-link objects unless some of components have changed  Methods for identifying changes  Date of last modification But this may have nothing to do with actual change in source  Tags relating to real changes in source code

62 61 Copyright © 2003 M. E. Kabay. All rights reserved. Homework  REQUIRED: by Monday 28 April (at the Business & Mgmt office by noon)  Exercise 29.3 for 10 points  29.7 for 5 points (5 factors @ 1 point each)  29.8 for 4 points (2 ways @ 2 points each)  OPTIONAL: by Wednesday 30 April (at the Business & Mgmt office by noon) – any of  29.1 @ 2 points  29.2 @ 10 points  29.4 @ 2 points  29.5 @ 1 point

63 62 Copyright © 2003 M. E. Kabay. All rights reserved. DISCUSSION


Download ppt "Configuration Management Structured System Design II – 302 Lecture # 27 – 2003-04-28 The Last Lecture of the Course! M. E. Kabay, PhD, CISSP Dept of Computer."

Similar presentations


Ads by Google