Maintenance
What are reasons for Configuration Management?
Requirements Creep, Multiple Copies, Shared Data, and Simultaneous Updates
The degree to which each piece of information is controlled varies within the project. Some items, like requirements documentation for example, require ___________ to change.
The customer's approval
The maturity level model characterizes an organization's maturity based on...
The extent to which measurable and repeatable practices are institutionalized
These, in the source code, help explain the logic of a program as well as aid in understand-ability of the code. This is another important type of system documentation that is not a "document" by itself
Comments
What are the 5 common features of a key process area?
Commitment to perform, Ability to perform, Activities performed, Measurement and Analysis, Verifying implementation
This standard provides industry a basis for software practices that would be usable for both national and international business
IEEE/EIA 12207.0
___________ supplies exact instructions, called Data Item Descriptions (DIDs), as to what is needed in different types of documentation
IEEE/EIA 12207.0
With CM, software changes are __________, ____________, and ___________ throughout the project life cycle.
Identified, controlled, and managed
What are the steps of a Process-Focused Approach?
Identify, Evaluate, Analyze, Take Action, Study, Standardize, Plan
The process of establishing common engineering criteria, terms, principles, practices, materials, items, processes, equipment, parts, assemblies, and sub-assemblies to achieve uniformity of produced items and engineering practices
Standardization
This approach catches defects after the fact
Product-Focused Approach
This is the entire source code listing and data listing for the program. The source code printout helps in desk-checking the system
Program Source Code Listing
This tells a hands-on software user how to install and use a software item, system, or subsystem. It may also cover a particular aspect of software operation such as instructions for a particular position or task.
Software User Manual (SUM)
To aid organizations in determining the capabilities of their current process and to establish priorities for improvement, the Software Engineering Institute developed the...
Software process maturity framework
When implemented correctly, CM helps ensure ___________ and ___________.
Software quality and process improvement
T/F, CM is a clerical "after-the-fact" function.
False
What are the two functions of Configuration Management?
Support and control
List two examples of system documentation
(System Design Document, Program Source Code Listing, Operational Concept Description (OCD), Software Development Plan (SDP), Software Test Plan (STP), Computer Programming Manual (CPM), Comments)
Software cannot be fully understood without...
Accurate, high-quality documentation
CM is a critical component for projects of which size?
All sizes
This Document contains the current standards for any document produced for DoD computer software
IEEE/EIA 12207.0
The role of the CM manager is to ensure:
CM personnel are properly trained and have the necessary resources, A proper balance of support and control is tailored to each program, The CM function is flexible and can accommodate the changing needs of the developers, customers, program, and company
A ____________ describes what is to be done in each phase of in each phase of the life cycle. It provides the focus for the process and procedures. it is also the mechanism used to communicate the CM process to the other organizational groups on the project.
CM plan
Without a solid ____________, your project will struggle.
CM process
This model provides a means for assessing current practice and guiding process improvement efforts.
Capability Maturity Model
This provides information needed to operate a given computer and peripheral equipment. This manual focuses on the computer itself, not on any particular software that runs on the computer. It is intended for newly developed computers, special purpose computers, or other computers for which commercial or other operation manuals are not readily available.
Computer Operation Manual (COM)
This provides information needed by a programmer to understand how to program a given computer system. It tells the programmers what language may be used on the computer system, how the memory is organized, what are the inputs and outputs (I/O), and which ones may be used. It also informs the programmer on how to use these inputs and outputs in a program
Computer Programming Manual (CPM)
A distinct part of a CSCI (i.e. a subprogram). It may be further broken down into other CSCs and Computer Software Units (CSUs)
Computer Software Component (CSC)
A configuration item for computer software (i.e. a program). It is broken down into Computer Software Components (CSC) and Computer Software Units (CSU)
Computer Software Configuration Item (CSCI)
The smallest logical entity specified in the software-detailed design. It sufficiently describes a single function to allow code to be produced and tested independently of other units
Computer Software Unit (CSU)
In regards to Maintenance Documentation Concerns, you achieve effective documentation by applying a technically sound methodology at the __________, ___________, ____________, and ____________ stages of the system life cycle.
Conception, preliminary analysis, design, and implementation
Defined as an essential discipline in the everyday activities of defining requirements, designing, writing, compiling, testing, and documenting the software during all steps of development
Configuration Management (CM)
The backbone of the software development process.
Configuration management
When continuous process effectiveness and efficiency goals (targets) for performance are established, based on the goals of the organization.
Continuous Improvement
Which function of CM locks-down the specifications, documents, drawings, requirements, tools, software, and other deliverables associated with the project?
Control
All items generated within a project should be ___________ in some manner.
Controlled
This contains the definitions of all data that is used in the system
Data Dictionary
This shows the major breakdown of the processes and the relationships among processes
Data Flow Diagram (DFD)
__________ provide detailed guidance in the preparation of all documents
Data Item Descriptions (DIDs)
The most important aspect of software process improvement. This is the process of detecting, analyzing, and removing errors in the software process.
Defect Analysis
The one aspect of quality that can be measured in a tangible and convincing way.
Defect Removal
Achieving strong quality requires management's commitment to document ___________, __________, and ___________.
Design, standards, and quality assurance processes.
The benefits derived from CM are ___________ to the extent that CM is implemented.
Directly proportional
Because software is unlike any other product, the only way to visualize and understand it is through its _____________.
Documentation
__________ is the most important aspect of software support.
Documentation
This depicts the relationships that exist among the stored data
Entity-Relationship Diagram (E-R Diagram)
Without configuration management (CM), each software project becomes ______________ to control while maintaining/enforcing program-wide standards.
Extremely difficult
T/F, Program quality is more important than document quality.
False
T/F, Changing the system documentation is primarily for the benefit of the customer
False. Changing system documentation is primarily for the benefit of the programmer or developer who will need an explanation of how the program works
T/F, Quality software only demands that defects be prevented and eliminated from all products.
False. Defects must also be removed from all the processes that create those products
The DID describes the exact __________ the deliverable must be submitted in and specifies the __________ of the deliverable in detail
Format, content
System or segment component that will be developed or integrated and is primarily of a hardware or firmware nature.
Hardware Configuration Item (HWCI)
By using software standards, the software system becomes maintainable. Examples of software standards include:
Indentation, comments, and naming conventions, Specific regulations are to be consulted for clarification
Except for level 1, each maturity level is broken down into several ___________, that indicate the areas on which an organization should focus to improve its software process
Key Process Areas (KPAs)
Most CM goals reside in which phase of the software life cycle?
Maintenance Phase
CM provides a strictly controlled mechanism to help ________________ by ensuring all activities through the software life cycle are document.
Mature the system
In this maturity level, the software process is characterized as ad hoc and, occasionally, even chaotic. Few processes are defined and success depends on individual efforts and heroics
Maturity level 1 - Initial
In this maturity level, basic program management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes
Maturity level 2 - Repeatable
In this maturity level, the software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization. All programs use an approved, tailored version of the organization's standard software process
Maturity level 3 - Defined
Which maturity level does the Air Force expect all units to achieve?
Maturity level 3 - Defined
In this maturity level, detailed measurements of the software process and product quality are collected. Both the software process and products are completely understood and controlled.
Maturity level 4 - Managed
In this maturity level, continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies
Maturity level 5 - Optimizing
A standard is...
Measurable, repeatable, reusable, and accessible
One reason for controlling the changes made to software is the problem with maintaining separate software systems that are similar. This results in separate copies of the problem to fix.
Multiple Copies
An approach with which your attention is concentrated mainly on your process or the way you create your software system rather than focusing your attention o the completed product. This approach can achieve progressive and measurable improvements in your program.
Process-Focused Approach
Changing the user documentation is a(n) __________ process.
Ongoing. Commenced before, during, and after alterations to the software.
This describes a proposed system in terms of the user needs it will fulfill, its relationship to existing systems or procedures, and the ways it will be used. It is used to obtain consensus among the acquirer, developer, support, and user agencies on the operational concept of a proposed system
Operational Concept Description (OCD)
This step of a Process-Focused Approach is a continuous process
Plan
The way you do something. It involves steps you take from beginning to end in order to complete a task
Process
This implies there is some definable and measurable process to improve. There is always room for improvement.
Process Improvement
This occurs when there is a difference between the original design and the final product. (Gee Whiz: the single greatest source of time and cost overrun is changes to the original set of requirements)
Requirements Creep
The importance of CM becomes evident in light of the _____________________. The payoffs can be enormous when CM measurements and their associated metrics are used from the beginning of a program through its conclusion
Return on investment and potential cost saving
A grouping of elements that are closely related and often physically interfaced. Each consists of some combination of Computer Software Configuration Items (CSCI) and Hardware Configuration Items (HWCI)
Segment
When a team of programmers is working on several modules of the same program, changes made in one module can affect the operation of another module. This problem is a reason for CM.
Shared Data
This problem surfaces anytime two or more programmers are working on the same module separately.
Simultaneous Updates
This describes a developer's plans for conducting a software development effort. The term "software development" in this DID is meant to include new development, modification, reuse, re engineering, maintenance, and all other activities resulting in software products. This provides the acquirer insight into and a tool for monitoring the process to be followed for software development, the methods to be used, and the approach to be followed for each activity, project schedules, organization, and resources
Software Development Plan (SDP)
A well-defined, systematic , and methodical approach to developing software. Identifying your methods is crucial to developing complex systems.
Software Process
The act of examining a software process, from start to finish, with the intention of making it better. We are seeking ways to take something that works and make it operate more efficiently.
Software Process Improvement
This ensures the design was coded correctly. It describes the software test environment to be used for the testing. It identifies the tests to be performed and provides schedules for test activity
Software Test Plan (STP)
A simple tool for controlling requirements Creep. Can be used to reach an understanding of what will and will not be built in a particular iteration of development.
Statement of Work
What is an important thing to try to do during the Coding Phase in the software life cycle with respect to CM?
Stick to the design.
Which function of CM keeps the program engineers, developers, and the program itself on task and, hopefully, on schedule?
Support
An effective CM program:
Supports delivery of a product that meets the stated requirements, Tracks each requirement and deliverable from concept, through implementation, and to customer delivery, Ultimately moves toward delivery of the product on schedule and within budget
Comprised of subsystems, assemblies, skills, and techniques that are capable of performing or supporting an operational role. Can include facilities, items, materials, services, and personnel. These are required for its operation to the degree it could be considered a self-sufficient item in its intended operational or support environment.
System
This includes documents like object diagrams, flow charts, case studies, and message trace diagrams. Examples include Data Flow Diagrams, Data Dictionaries, and E-R Diagrams
System Design Document
Internal documentation used by the developers and maintainers of the software
System documentation
What is the current version of controlled entities (code, documents, requirements) referred to as? Previous versions?
The Baseline Version. Previous versions are Archived Baseline Versions
This framework provides a benchmark of sound, proven principles for quality and is recognized by engineering and manufacturing disciplines to be effective for software
The maturity level framework
What is the primary goal of Configuration Management?
To Maximize Productivity by Minimizing Mistakes
What is the goal of the Test Phase of the software life cycle with respect to CM?
To build a project baseline of accurate and consistent code.
What is the primary objective of CM?
To deliver a quality product that meets the stated requirements, on schedule, and within budget
What is the purpose of the maturity level model?
To help organizations determine their current capabilities and identify their most critical issues
The Maintenance Phase of the software life cycle includes quality assurance and delivery. CM goals during this phase include:
To maintain the accuracy and consistency of the project baseline. To keep track of corrected and outstanding bugs. To prepare the best state of the software for delivery. To continue finding and fixing bugs, adding new features, and allowing programmers to maintain software
T/F, All deliverables required on a government contract will be described by a DID
True
T/F, All documentation needs to be updated accordingly when there are changes to the logic of the source code
True
T/F, Configuration management (CM) serves as a natural communication mechanism using only baseline items to perform all software builds, document generation, etc.
True
T/F, Only the necessary documentation for technical software development and maintenance is needed
True
T/F, The utility of a system is degraded without information on how to use it or how to understand it
True
This type of documentation is for users of the software. It generally explains how to install and set up the software, how to use the software, information about errors, and how to recover from errors
User Documentation
When do problems and bottlenecks become common with CM?
When CM staff mix up their two hats. The "support people" hat and the "control data" hat (EX: CM tries to control people in what and how they do things)