home *** CD-ROM | disk | FTP | other *** search
- SCC Doc.scc
-
- Software Change Control (SCC)
-
- Copyright (c) 1990-91 by Walter Erickson
- All Rights Reserved.
-
- Softime Systems
- P.O Box 2447
- Lake Ronkonkoma LI. NY 11779
- (516) 981-8386
-
-
-
- DISCLAIMER - AGREEMENT
- ----------------------
- Users of SCC must accept this disclaimer of warranty:
- "SCC is supplied as is. The author disclaims all warranties,
- expressed or implied, including, without limitation, the
- warranties of merchantability and of fitness for any purpose. The
- author assumes no liability for damages, direct or consequential,
- which may result from the use of SCC."
-
-
- Installing SCC
- --------------
-
- To install SCC on your system refer to "readme.scc" file.
-
- Special Notes
- -------------
-
- See "invoice.scc" for explication of the differences between the
- above SCC "Shareware" and "registered" options.
- This documentation covers all copies of SCC, the freely distributed
- and "registered" versions. If a particular part only applies to a
- certain SCC copy it will be noted as
-
- ONLY SCC "Shareware"
- -------------------
-
- ONLY SCC_I "registered"
- -----------------------
-
- ONLY SCC_I SCC_II "registered"
- -----------------------------
-
- See "invoice.scc" for explication of the differences between the
- above SCC "Shareware" and "registered" options.
-
- Page 1
-
- Common questions about SCC
- --------------------------
-
- What is SCC ?
- -------------
-
- Software Change Control (SCC), as the name implies, is one of
- the most powerful and cost-effective products available.
-
- SCC closely tracks (logs) all software/text changes between two
- similar source files, thereby giving a complete (version to
- version) audit trail.
-
-
-
- What does SCC do ?
- ------------------
-
- When SCC is run, the tracking (output) log file will then
- reflect (in context) what changes that have occurred between the
- two (input) source files, thus allowing the programmer and/or
- management to have a clear visual SCC log of all software and/or
- text changes.
-
- This feature enables the user to control all enhancements and
- documentation of source data at this critical level.
-
-
-
- Why is SCC needed ?
- -------------------
-
- All software source files will need changes. In fact, it is a
- truism that every software project released, including those
- released quite recently, need changes. The most important
- consideration at this stage is to regulate and control the
- documentation and its changes.
-
- SCC is a decomposition process that offers a complete, precise
- description of what changes have occurred between two source
- files. This results in faster development time, along with
- software that is far less likely to fail in use.
-
- Page 2
-
- Can managers use SCC ?
- ----------------------
-
- The management of software changes at the programming (source)
- level (generally accepted as the most expensive and weakest link
- in software management) is one of the most difficult problems
- managers and programmers alike have.
-
- Using SCC creates an environment that is very time and cost
- effective. SCC allows changes to be made in a more maintainable,
- reliable and controllable way; that is, software control is fully
- documented, along with a full audit trail of what changes have
- occurred between software versions.
-
- SCC greatly improves the suitability and appropriateness of
- software change documents; enhances clarity, readability,
- reliability and complete recoverability; allowing software
- changes to be a great deal easier to track and maintain.
-
-
-
- Does SCC require a special editor ?
- -----------------------------------
-
- No, all that is required is that the input source files to SCC
- be in (ASCII TEXT) format.
-
-
-
- Does SCC require a data base ?
- ------------------------------
-
- No, SCC can either be integrated into a data base or stand
- alone, for most small projects a data base is not necessary, thus
- eliminating complexity and cost (KISS). All header file-id, code
- and documentation changes "between versions" are kept within the
- SCC Log itself.
-
-
-
- Can I run SCC against existing versions ?
- -----------------------------------------
-
- Yes, you can build new and complete SCC change logs from older
- existing (version to version) files, this will give a complete
- audit trail of any software changes between versions.
-
- Page 3
-
- What can SCC be used for ?
- --------------------------
-
- o Documenting
- o Software/text control
- o Software Debugging
- o Code walkthrough's
- o etc.
-
-
-
- Using SCC for Documenting
- -------------------------
-
- When SCC is run, the tracking (output) log file will then
- reflect (in context) what changes that have occurred between the
- two (input) source files, thus allowing the programmer and/or
- management to control, enhance and document software at this
- critical source level.
-
- SCC generates a software change (log) that closely tracks and
- records all changes
-
-
-
- Using SCC for Software control
- ------------------------------
-
- The manager/programmer can visually see on one listing (the
- change log) all changes and special tracking symbols that were
- necessary to build the later version from the early version, thus
- keeping an accurate control over all changes.
-
- For example: to (recover delete errors) the change log can be
- used as a source reference by copying from the log file any
- (special marked) unwanted deletes, then reinserting them back
- into the later version.
-
- The reverse (delete insert errors) can be viewed from the log
- file and the necessary edits can be done directly into the
- later version.
-
- When SCC is re-run, using the just updated later version, a new
- SCC (output) log file will be rebuilt.
-
- This rebuilt log will then reflect all the recovered changes
- that were just made against the later version.
-
- SCC will also reveal all unintentional and possible
- unauthorized changes to source files, thus preventing future
- problems in the next released version.
-
- Page 4
-
- SCC as a debugging aid
- ----------------------
-
- If a feature in the software has a bug in the later version,
- and that same feature had no bug in the earlier version, the
- programmer can use SCC as a debugging aid.
-
- If the programmer does not already have an SCC log, he can run
- SCC against the earlier and later versions to generate a SCC log.
-
- Then programmer can visually see on one listing (the SCC log)
- all changes that were necessary to build the (now buggy) later
- version.
-
- By reviewing and using the SCC change log as a source file, the
- programmer can experiment by removing or reinserting what changes
- created the (now buggy) later version. By isolating those
- changes, the programmer should be better able to locate what
- caused the bug, thus eliminating an untold amount of time and
- money by using the older method.
-
-
-
- SCC summary
- -----------
-
- o SCC is a comprehensive utility designed to compare two files
- and generate various reports (log files) that display any or all
- change differences.
-
- o SCC log records who, why, when and where changes were made,
- thus maintaining a complete history of all changes.
-
- o SCC enables detailed verification of auditing accuracy,
- eliminates undetected programming errors and drastically reduces
- manual desk checking time.
-
- o The manager/programmer knows exactly what the changes are
- between versions.
-
- o SCC accepts (ASCII TEXT) output from your favored editor.
-
- o You can build new and complete SCC change logs from older
- existing (version to version) files.
-
- o You can track any coding progress on software changes by
- viewing an SCC log against the previous and developing files.
-
- o You can backtrack to any version to find what changes created
- that version at that time.
-
- o SCC change logs (version to version) can greatly help in
- debugging source code errors between releases (one works the
- other does not)
-
- Page 5
-
- LOG_BUILD
- ---------
-
- The SCC Log is the first (output) file to be built using two
- similar, but modified, source (input) files. When an SCC Log
- (type) is selected to be built, this Log file will record all
- control numbers, changes and selected options in a clear fully
- documented and printable form.
-
-
-
- LOG_BUILD
- ---------
-
- ONLY SCC_II "registered"
- -----------------------
- You can reconstruct any version (forward or backward) from the
- SCC log file. Selecting this menu will give you several options
- of how the SCC Log (output) file will be built. A few of the SCC
- Log build options are (Long, Medium, or Short) Log types, Header
- information, ignore upper/lower case, etc.
-
-
-
- OLD_MASTER_BUILD
- ----------------
-
- ONLY SCC_II "registered"
- -----------------------
- SCC can re-build an Old master (output) file from a single file
- by using the LONG type SCC Log file alone. SCC also can re-build
- an Old master (output) file from two (input) files by using the
- MEDIUM or SHORT type SCC Log file and its associated New master file.
-
-
-
- NEW_MASTER_BUILD
- ----------------
-
- ONLY SCC_II "registered"
- -----------------------
- SCC can re-build a New master (output) file from a single file
- by using the LONG type SCC Log (input) file alone. SCC also can
- re-build a New master (output) file from two (input) files by using
- the MEDIUM or SHORT type SCC Log file and its associated Old master
- file.
-
-
- UTILITIES
- ---------
-
- This menu contains a renumbering utility that will create a
- (numbered) copy of an original file.
-
- Page 6
-
- (SCC) Log Header
- ----------------
-
- ONLY SCC_II "registered"
- -----------------------
- The Log Header File describes various user input parameters
- similar to the following.
-
- Entered_By ......................
- Author ..........................
- Date_Created ....................
- Edit_Last_By ....................
- Project .........................
- Project_Type ....................
- Application .....................
- File ............................
- Location ........................
- Description .....................
- etc. etc. .......................
-
- If any of the above fields are filled in then, those fields
- will be included as part of the SCC Log File.
-
-
-
- LONG_LOG_BUILD
- --------------
-
- A Long and detailed SCC Log will show all control numbers along
- with their corresponding deleted/inserted lines from the Old/New
- masters. This Log will also show all the unchanged (common) lines
- between the two files. During development and debugging time, the
- Long Log can be used (in context) as a visual overview of all the
- changes and documentation that were necessary to build the present
- (New master) file.
-
-
- LONG_LOG_BUILD
- --------------
-
- ONLY SCC_II "registered"
- -----------------------
- The Long SCC Log has all the necessary information (no need for
- any other input file) to re-build either the New or Old master
- (output) files.
-
- Page 7
-
- LONG_LOG_BUILD
- --------------
-
- One of the general purposes of the Long SCC Log is to assist in
- the development of a New master update. It also aids in the
- backtracking to earlier versions for the purpose of viewing and
- debugging past undocumented changes.
-
- The Long SCC Log helps the programmer and manager to make
- changes, "edit out" any tactical coding/design errors between
- two source files. This is usually done by using a similar method
- such as the following:
-
-
- Initial Technical Design Review
- o revision of raw draft coding design
- o clarification of ambiguous design content
- o identification of coding gaps and
- inconsistencies
- o discovery of major/minor coding errors
-
- Quick Coding Review
- o verification of technical content NOT
- already tested/debugged
- o incorporation of late technical coding
- changes
- o writing specs for changed documentation
-
- Final Technical Design Review
- o refining the source code/documentation
- for usability
- o minor "edit" cleanup
- o careful configuration control and test
- proofing
-
- Field Maintenance of Released Software
- o discovery of unintentional coding errors
- o discovery of undocumented features
-
- Page 8
-
- Long SCC Log Control format
- ---------------------------
-
- ONLY SCC Shareware
- ------------------
-
- # Log control character
- #Change change number
- #
- # ... (at line #:), # lines deleted from old filename
- # ... # (New) lines inserted into new filename
- #
- - Old changed or deleted line
- Old moved or ignored line optional
- 62: New moved or ignored line optional
- + 63: New changed or added line
- 64: New & Old common line
-
-
-
- Long SCC Log Control format
- ---------------------------
-
- ONLY SCC_I and SCC_II "registered"
- ---------------------------------
-
- # Log control character
- #Change change number
- #15,25 Old deleted line numbers
- #10,63 New added line numbers
- - Old changed or deleted line
- Old moved or ignored line optional
- 62: New moved or ignored line optional
- + 63: New changed or added line
- 64: New & Old common line
-
- Note: a single number is a line placeholder
-
- #100 Old placeholder line
- #140 New placeholder line
-
- Page 9
-
- MEDIUM_LOG_BUILD
- ----------------
-
- ONLY SCC Shareware
- ------------------
-
- # Log control character
- #Change change number
- #
- # ... (at line #:), # lines deleted from old filename
- # ... # (New) lines inserted into new filename
- #
- - Old changed or deleted line
- Old moved or ignored line optional
- 62: New moved or ignored line optional
- + 63: New changed or added line
-
-
- ONLY SCC_I and SCC_II "registered"
- ---------------------------------
-
- A Medium SCC Log will show all control numbers along with their
- corresponding deleted/inserted lines from the Old/New masters. One
- of the main benefits of the Medium SCC Log is that the Log file is
- generally much smaller (no common Old/New coded lines). All the
- delete/insert changes can still be seen.
-
-
-
- MEDIUM_LOG_BUILD
- ----------------
-
- ONLY SCC_II "registered"
- -----------------------
- The Medium SCC Log has all the necessary (input) information
- along with an Old/New (input) master to re-build either New/Old
- master (output) file.
-
-
-
- Medium SCC Log Control format
- -----------------------------
-
- # Log control character
- #Change change number
- #15,25 Old deleted line numbers
- #10,63 New added line numbers
- - Old changed or deleted line
- Old moved or ignored line optional
- 62: New moved or ignored line optional
- + 63: New changed or added line
-
- Note: a single number is a line placeholder
-
- #100 Old placeholder line
- #140 New placeholder line
-
- Page 10
-
- FWD_SHORT_LOG_BUILD
- -------------------
-
- ONLY SCC_II "registered"
- -----------------------
- The Forward short SCC Log has all the necessary (input)
- information along with an Old master (input) file to re-build a
- New master (output) file.
-
- The main benefits of the forward short SCC Log is that
- o the Log file generally is far smaller than either Long or
- Medium Log types
- o The control numbers and newly inserted changes can still be
- seen
- o Only an earlier reference (Old master) and a series of the
- (smaller) Forward Short Logs has to be kept in order to rebuild
- up to the present New master, thus saving a lot of storage space.
-
- For example: starting from an earlier reference (Old master)
- any New master version can be daisy-chained (rebuilt) from its
- associated Log. This rebuilding process can continue up to the
- New master desired.
-
-
-
- Forward Short SCC Log Control format
- ------------------------------------
-
- ONLY SCC_II "registered"
- -----------------------
- # Log control character
- #Change change number
- #15,25 Old deleted line numbers
- #10,63 New added line numbers
- 10: New added line
-
- Note: a single number is a line placeholder
-
- #140 New placeholder line
-
- Page 11
-
- REV_SHORT_LOG_BUILD
- -------------------
-
- ONLY SCC_II "registered"
- -----------------------
- The Reverse short SCC Log has all the necessary (input)
- information along with a New master (input) file to re-build an
- Old master (output) file.
-
- The main benefits of the reverse short SCC Log is that
- o the Log file generally is far smaller than either Long or
- Medium Log types
- o The control numbers and newly deleted changes can still be
- seen
- o Only a later reference (New master) and a series of the
- (smaller) Reverse Short Logs has to be kept in order to rebuild
- back to the Old master desired, thus saving a lot of storage space.
-
- For example: starting from a later reference (New master) any
- Old master version can be daisy-chained (rebuilt) from its
- associated (New master) Log. This rebuilding process can continue
- up to the Old master version desired.
-
-
-
- Reverse Short SCC Log Control format
- ------------------------------------
-
- ONLY SCC_II "registered"
- -----------------------
- # Log control character
- #Change change number
- #15,25 Old deleted line numbers
- #10,63 New added line numbers
- 15: Old deleted line
-
- Note: a single number is a line placeholder
-
- #100 Old placeholder line
-
- Page 12
-
- CRUNCH_LOG_BUILD
- ----------------
-
- SCC Crunch Log purpose is for condensed VIEWING only (cannot be
- used to rebuild a master file).
-
- The SCC Crunch Log will NOT reflect:
- o change control information
- o common lines between masters
- o moved (but not changed) lines
- o the set SCC Log (ignore) options.
-
- The SCC Crunch Log WILL reflect:
- o the SCC Crunch header
- o all the log lines with -/+ indicators.
- o - Old line numbers, changed or deleted
- o + New line numbers, changed or inserted
-
-
-
- Crunch SCC Log format
- ---------------------
-
- - 20: Old changed or deleted line
- + 63: New changed or added line
-
-
-
- Use Your Editor
- ---------------
-
- In order to edit, you must first set your editor name
-
- For "SCC Log" data integrity, your editor will be able only
- to read the SCC Log.
-
- If you wish to change the SCC Log, re-edit the (New) master
- input file, then re-build the SCC Log.
-
- You need only to enter the file-name for your choice of editor.
- DOS must be able to find the editor in order to run, therefore
- the editor "DOS path" should exist, or the editor itself must
- be in the present directory.
-
- Page 13
-
- SUSPEND SCC
- -----------
-
- Go to DOS shell
- To return to SCC, type "exit"
-
-
-
-
- RUN_LOG_BUILD
- -------------
-
- Before the RUN option appears on the menu (not blank) the
- operator must select from the menu the type Log desired (Long,
- Medium, Crunch, etc). Then enter the appropriate Old and
- New master (input) file names. A suggested Log file (output) name
- will then appear and, if desired, this name can be accepted or
- changed.
-
- If the RUN option appears in the menu, then the operator can
- select same to build the log file. If the RUN option does not
- appear, retry the above.
-
-
-
- NEW_MASTER_RE_BUILD
- -------------------
-
- ONLY SCC_II "registered"
- -----------------------
- SCC can re-build the New master (output) file from a single
- file by using the LONG type SCC Log file alone.
-
- SCC also can re-build the New master (output) file from two
- (input) files by using a MEDIUM or SHORT type SCC Log file and an
- Old master file.
-
-
-
- RUN_NEW_MASTER_RE_BUILD
- -----------------------
-
- ONLY SCC_II "registered"
- -----------------------
- Before the RUN option will appear on the menu (not '~') the
- operator must enter the appropriate Log file (input) name and, if
- required (by the type Log), an Old master file (input) name. Then
- a suggested New master (output) name will appear and, if desired,
- this name can be accepted or changed.
-
- If the RUN option appears in the menu, then the operator can
- select same to build the log file. If the RUN option does not
- appear, retry the above.
-
- Page 14
-
- OLD_MASTER_RE_BUILD
- -------------------
-
- ONLY SCC_II "registered"
- -----------------------
- SCC can re-build the Old master (output) file from a single
- file by using the LONG type SCC Log (input) file alone.
-
- SCC also can re-build the Old master (output) file from two
- (input) files by using a MEDIUM or SHORT type SCC Log file and a
- New master file.
-
-
-
- RUN_OLD_MASTER_RE_BUILD
- -----------------------
-
- ONLY SCC_II "registered"
- -----------------------
- Before the RUN option will appear on the menu (not '~') the
- operator must enter the appropriate Log file (input) name and if
- required (by the type Log), a New master file (input) name. Then
- a suggested Old master (output) name will appear and, if desired,
- this name can be accepted or changed.
-
- If the RUN option appears in the menu, then the operator can
- select same to build the log file. If the RUN option does not
- appear, retry the above.
-
- Page 15
-
- VIEW_LOG
- --------
-
- View (or your editor) can be used as a quick visual format
- verification of a SCC file.
-
- For example: you can look over (or edit, using your editor) a
- tentative new master, or review a just generated SCC Log file for
- items such as:
- o SCC Log header contents
- o option settings of the SCC Log
- o Change (auditing) accuracy of the new
- master.
-
- Using this quick view greatly helps with the elimination of
- possible unintended design and/or change errors, thus drastically
- reducing desk checking time.
-
- The Following describes view key commands.
- (F1) gives the same key help.
-
- HOME top of document
- END end of document
- PGUP up one screen
- PGDN down one screen
- CTRL HOME start of line
- UP ARROW up one line
- DOWN ARROW down one line
- RIGHT ARROW move right line
- LEFT ARROW move left line
-
- Special "log" commands
- ------------------------
- 'P' previous change #
- 'N' next change #
- 'G' goto log line #
- 'L' lock cursor toggle
- 'E' Your Editor
-
- ONLY SCC_I SCC_II "registered"
- -----------------------------
- 'X' goto match line #
- 'Z' flip match line #
-
-
- NUMBER_FILE
- -----------
-
- This will create a numbered (printable) copy of an original
- master file (with an extension of .num).
-
- This printed file may be used as a visual reference along the
- side of a SCC generated change log. These files then, can be used
- for direct change validation and conformation.
-
- RUN_NUMBER_FILE
- ---------------
-
- Page 16
-
- LOG_DETAIL
- ----------
-
- ONLY SCC_I and SCC_II "registered"
- ---------------------------------
- By selecting Yes; detailed comments will then be inserted into
- the next newly generated SCC log.
-
- Examples of the Detail option are as follows:
-
- #
- #Change 1
- #
- #5,7 ... 3 (Old) lines deleted from filename
- #2,2 ... 1 (New) lines inserted into filename
- #
-
- Note, a place-holder is a line number marker where an insertion
- or deletion would have taken place in the (Old/New) filename (if
- insertion or deletions were needed).
- #
- #Change 2
- #
- #9,10 ... 2 (Old) lines deleted from filename
- #7 ... (New) line place-holder for filename
- #
-
- #
- #Change 3
- #
- #19 ... (Old) line place-holder for filename
- #9,12 ... 4 (New) lines inserted into filename
- #
-
- Page 17
-
- STRIP_END_WHITE
- ---------------
-
- By selecting Yes; this option will eliminate (strip) any ending
- white space (spaces and tabs) between the two master files.
-
- Since ending white space will be striped from both files, the
- SCC log (change) comparison procedure will then only be able to
- compare (each line) up to its last visual character.
-
- When this option is selected the resulting built SCC log
- control lines will also have no ending white space. Thus a master
- rebuilt from this log (forward/backward) will also have no
- corresponding ending white space.
-
-
-
- IGNORE_CASE
- -----------
-
- By selecting Yes; Upper/Lower case will be treated as equal
- characters (will not trigger the -/+ log indicators).
-
- For example:
-
- Old master New master
- ---------- ----------
- "Abc" = "abc"
- "NOW IS THE TIME" = "now is the time"
-
-
-
- IGNORE_WHITE
- ------------
-
- By selecting Yes; all white characters (space tab, carriage
- return, new line and vertical tab) will be ignored (will not
- trigger the -/+ log indicators).
-
- For example:
-
- Old master New master
- ---------- ----------
- "The quick" = "T h e q uic k"
-
- Page 18
-
- IGNORE_NUMBERS
- --------------
-
- By selecting Yes; all Numbers will be ignored (will not trigger
- the -/+ log indicators).
-
- For example:
-
- Old master New master
- ---------- ----------
- "goto 1234" = "goto 567"
-
-
-
- IGNORE_STRINGS
- --------------
-
- ONLY SCC_I and SCC_II "registered"
- ---------------------------------
- By selecting Yes; each character string that is inserted into
- the list will be ignored (will not trigger the -/+ log
- indicators).
-
- For example let:
- string 1 = "brown"
- string 2 = "uic"
-
- Old master New master
- ---------- ----------
- "The quick brown" = "The quick "
- "The quick brown" = "The qk brown"
-
-
- Page 19
-
- SCC can also be run as batch mode by typing for (batch) help
-
- C:> SCC / <enter>
-
- or follow the below BATCH format
-
- Between {} are optional\n");
- LOG_BUILD -----------------------\n");
- OPTIONS = /LO,{E},{C},{W},{N}\n");
- STRIP_END_WHITE = ----| | | |\n");
- IGNORE_CASE = --------| | |\n");
- IGNORE_WHITE = ------------| |\n");
- IGNORE_NUMBERS = ----------------|\n");
- LONG_LOG_BUILD = /LL,old-master,new-master,{log-name}\n");
- MEDIUM_LOG_BUILD = /LM,old-master,new-master,{log-name}\n");
- CRUNCH_LOG_BUILD = /LC,old-master,new-master,{log-name}\n");
- UTILITIES \n");
- NUMBER FILE = /UN,in-file,{out-file}\n");
- VIEW = /V,{log},{your-editor}\n");
-
- for example, to build a LONG Log with ignore (white space) and a view
- type in the following.
-
-
- C:> SCC /LO,W /LL,sample.v1,sample.v2 /V <enter>
-
-
-
- To number a file for reference with a view, type in the following.
-
-
- C:> SCC /UN,sample.v1 /V <enter>
-
-