# Standard Terms Glossary --- **Process impact:** This file as a dictionary of standard terms defined as they are used across projects. Individual projects should not need to edit this file. Writing out the definitions of terms and acronyms here helps keep other documents more concise and easy to edit. Check the [ReadySET glossary](http://readyset.tigris.org/templates/glossary-std.html) for updates. Jump to: [General](#general-terms) | [Computer science & technology](#computer-science-and-technology-terms) | [Process](#process-terms) | [Software development tools](#development-tool-terms) | [Requirements](#requirements-terms) | [Design](#design-terms) | [Design goals terms](#design-goals-terms) | [QA terms](#qa-terms) | [QA goals terms](#qa-goals-terms) | [Additional terms](#additional-standard-terms)| [Project terms](Glossary) ### General Terms ##### Chipping away The process of removing sample text from templates when that text does not apply to the current project. Often some of the sample text will be kept or revised to fit the current project. Even if the sample text does not fit the current project, it provides a reusable example of how to phrase that type of description. The term "chipping away" comes from an old joke: when a sculptor is asked how he carved a marble statue of a horse, he replies "It was easy, I just started with a big block of marble and chipped away everything that did not look like a horse." ##### Attached worksheet The idea is similar to filling in an IRS form and using worksheets to calculate subtotals or make specific decisions. That is to say, there is a hierarchy to the templates: there are the main templates, and then worksheets for specific topics. We have divided the information into several files so that each file is focused on one topic, and so that each file can be worked on by one person in a reasonable amount of time. ##### Process impact The process impact box on each template explains where the current template fits into the software development process. It usually includes a brief comment on who should create the document, and who would be expected to make use of it. You can change the process impact box, but you should not need to. ##### Checklist There are two kinds of checklists: - Many of the templates have a section with questions that help you check your work in that template. Often the sample answers to the questions prompt you to take some corrective action. - For design and code review meetings, there are links to guidelines and checklists that help you identify common errors in those artifacts. ##### Sticky note The idea is similar to a post-it note attached to a document that tells you do "sign here" or fill in a certain part. There are two types of sticky notes: - *TODO: Instructs you on how to fill in the template. This is the minimum that you need to do. One of the main goals of ReadySET is to help your team *quickly* carry out basic software engineering activities. The TODO sticky notes make that easy by making the templates more self-explanatory.* - TIP: Helps you think of better ways to fill in the template. One of the other main goals of ReadySET is to help your team make better decisions that can make your whole project more successful. The TIP sticky notes help with that. After you have done what the sticky note says, you can delete the sticky note. ### Computer Science and Technology Terms ##### ::API (Application Programming Interface) An API is a set of functions that one software component makes available to other software components. That allows other programs to "call" this program via direct function calls, or more indirect communications such as [SOAP](#soap) messages. ##### ::SOAP SOAP (Simple Object Access Protocol) is the message format used by standard web services. It entails sending an XML document to a server in order to invoke an operation on the server-side. [More information on SOAP](http://directory.google.com/Top/Computers/Programming/Internet/Web_Services/SOAP/?tc=1). ### Process Terms ##### Change Control Board (CCB) A group of people who review proposed changes to the project requirements and/or source code to accept or reject changes in each particular release. Proposed changes are usually rejected if they introduce too much risk or would trigger additional effort (e.g., the need to redo a lot of testing on new code). A CCB is usually composed of managers and representatives of other stakeholders such as the QA group and key customers. ##### Feature Complete A release is called "feature complete" when the development team agrees that no new features will be added to this release. New features may still be suggested for later releases. More development work needs to be done to implement all the features and repair defects. ##### Code Complete A release is called "code complete" when the development team agrees that no entirely new source code will be added to this release. There may still be source code changes to fix defects. There may still be changes to documentation and data files, and to the code for test cases or utilities. New code may be added in a future release. ##### Internal Release Number An internal release number is the number that the development team gives each release. Internal release numbers typically count up logically, i.e., they do not skip numbers. They may have many parts: e.g., major, minor, patch-level, build number, RC number. ##### External Release Number External release numbers are the numbers that users see. Often, they will be the same as the internal release number. That is especially true if the product being built is a component intended to be reused by another engineering group in the same development organization. External release numbers can be different for products that face competition. External release number are simpler, and may not count up logically. E.g., a certain major ISP jumped up to version 8 of their client software because their competition had released version 8. Later, the competition used version "10 Optimized" rather than "10.1" or "11". ##### Release Number The term "release number" by itself refers to an [external release number](#external_release_number). Users normally are not aware of the existence of any internal release numbers. ### Development Tool Terms #### Version Control System ::DEFINITION1 #### Commit Log Message ::DEFINITION1 #### Issue Tracker ::DEFINITION1 #### Unit Testing Automation ::DEFINITION1 #### Automated Build System ::DEFINITION1 #### Source Code Analysis Tool ::DEFINITION1 #### Style Checker ::DEFINITION1 #### Source Code Formatter (Pretty Printer) ::DEFINITION1 #### System Test Automation ::DEFINITION1 ### Requirements Terms #### Feature specification A feature specification focuses on one feature of a software product and completely describes how that feature can be used. It includes a brief description of the purpose of the feature, the input and output, and any constraints. Individual bullet items give precise details on all aspects of the feature. One feature may be used in