V&V verification and validation
P-CMM People capability maturity model
GUI graphical user interface
COTS commercial off the shelf software
CMM capability maturity model
CC(G) cyclomatic complexity
increased reliability (the reused components have already been exercised), reduced process risk (reduces uncertainties in cost estimation), effective use of specialists (specialists can develop reusable components that encapsulate their knowledge), standards compliance (some standards can be implemented a set of standard components), accelerated development (products can get to market more quickly using pre-developed components).
increased maintenance costs (source may not be available), lack of tool support (CASE tools do not support development with reuse), not-invented-here syndrome (some programmers rewrite components to enhance the component), maintaining a component library (classifying and cataloging components is difficult), finding components (searching for reusable components is hard).
elicit stakeholder requirements, choose closest-fit family member, renegotiate requirements, adapt existing system, deliver new family member.
lack of control over functionality and performance, problems with COTS system interoperability, no control over system evolution , support (or lack thereof) from COTS vendors.
windows, icons, menus, pointing, graphics.
limit the number of colors used, use color change to show a change in system status, use color coding to support the task which users are trying to perform, use color coding in a consistent way, be careful about color pairings.
keep user familiarity in mind, be consistent, keep surprise at a minimum, plan for recoverability, give meaningful feedback to guide users, provide for diverse use.
learnability, response time, tolerance of error, recoverability, adaptability.
provide context, keep message brief with option for longer explanations, keep skill level of users in mind, give positive messages, keep culture in mind.
Defect testing should find inconsistencies between a program and its specification. Ex: For a sorting program, try a variety of inputs to see if the data are properly sorted. Statistical testing is for trying out a program’s performance and reliability. Ex: Send repeated requests to open some files in order to test response time.
V&V finds errors. Debugging is the process of locating and correcting the errors.
The principal goal of inspection is to detect defects. Reviews are more concerned with schedules, costs, and meeting organizational goals.
data faults (ex: uninitialized variables), control faults (ex: non-terminating loop), I/O faults (ex: unexpected inputs may cause a problem), interface faults ex: parameters out of order), storage faults (ex: pointers without allocated space), exception management faults (ex: error not taken into account).
incremental development (specified early with customer input), structured programming, static verification, statistical testing.
blackbox testing
lines with no spaces, lines consisting of all spaces, lines starting with spaces, lines ending with spaces, lines of various lengths, lines that are too long, lines terminated early with a return.
program
An oracle generates predictions of expected test results.
previous program versions or prototype systems.
different for each project
semantic
syntactic
Domain experience, adaptability, personality
The chief programmer approach has one person in charge who takes responsibility for the work. A librarian keeps documentation. In egoless programming, all members of the team have equal responsibility.
Groupthink is the situation in which the critical abilities of group members are eroded by group loyalties. Consideration of alternatives is replaced by loyalty ot group norms and decision.
Private space. Programmers require an area where they can concentrate and work without interruption. Each may need a different type of environment (music vs. quiet, etc.).
to improve the capability of software organizations by increasing the capability of their workforce; to ensure that software development capability is an attribute of the organization rather than a few individuals; to align the motivation of individuals with that of the organization; to retain human assets (people with critical knowledge and skills) within the organization.
false. Too many people with the same personality traits may clash and thereby inhibit communication.