Object Oriented Software Engineering   View all facts   Glossary   Help
subject > representation > document
Next representationdocumentation    Uprepresentation    Previous representationdiagram   

document comparison table
Subject make reference to write for include expressed as force keep outline write is a subtopic of test base on review by see also go through has part discuss educate contain ensure list have purpose have suggested structure divide deprecate is a synonym of start give subject to assist with update form show define depend on have parts allow agree to by use have summarize have part has definition write at describe refine be state
architectural model a particular audience several different views such as
  • The logical breakdown into subsystems, often shown using package diagrams
  • The dynamics of the interaction among components at run time, expressed using interaction or activity diagrams
  • The data that will be shared among the subsystems, expressed using class diagrams
  • The components that will exist at run time, and the machines or devices on which they will be located, expressed using component and deployment diagrams
    9.4 - Software Architecture        information about the interfaces and dynamic interactions among the subsystems     software architecture^3   
  • integrating the work of individual people to form the final system
  • planning and co-ordination of the work of developing a complex software system which is distributed among a large number of people
  • planning the evolution of the system, such as subsystems that are envisioned to be part of a future release
  each system component, encouraging reusethe terms that people use when they communicate with each other about lower-level details    to communicate with customers   The document produced as a result of performing software architecture   generic to ensure reusability 
catalog of reusable components a particular audience   up-to-date  3.2 - Incorporating Reusability and Reuse Into Software Engineering        information about reusable components     older components that have been found to be unreliable or have been superseded by better components                     easy to search 
design documentthe requirements that are being implemented by this design
  • Those who will be implementing the design, i.e. the programmers
  • Those who will need, in the future, to modify the design
  • Those who need to create systems or subsystems that interface with the system being designed
 a designer to be explicit and to consider the important issues before starting implementation   9.1 - The Process of Design   design  the important issues that had to be resolved, the possible alternatives that were considered, the final decision and the rationale for the decision every design decision along with the reasoning that went into making the decisiontraceability by making reference to the requirements that are being implemented by this design 
  • to encourage designers to make good design decisions
  • to communicate the design to others
  1. purpose
  2. general priorities
  3. outline of the design
  4. major design issues
  5. other details of the design
             a group of people to review the design and therefore to improve it     Documentation produced as a result of the design process what system or part of the system this design document describes   
domain analysis document a particular audience      4.1 - Domain Analysis       other software engineers who join the team lateran excessive amount of detailed information                     information found during domain analysis
  1. Introduction, including the name of the domain and the motivation for performing the analysis
  2. Glossary which gives the meanings of all terms used in the domain that are either not part of everyday language or else have special meanings
  3. General knowledge about the domain - important facts or rules that are widely known by the domain experts and which would normally be learned as part of their education
  4. Customers and users - who will or might buy the software, and in what industrial sectors they operate. Also, describe the other people who work in the domain, even peripherally.
  5. The environment - equipment and systems used
  6. Tasks and procedures currently performed - what the various people do as they go about their work
  7. Competing software, including advantages and disadvantages
  8. Similarities across domains and organizations - what distinguishes the customer's organization from others, as well as what they have in common
      
known bugs list a particular audience      10.9 - Strategies for Testing Large Systems                                A list of defects in a system that have not yet been fixed     
license a particular audience      1.3 - Software Engineering as a Branch of the Engineering Profession                                A legal document authorizing the holder to perform some activity     
problem statement a particular audience      4.3 - Defining The Problem and the Scope                       as early as possiblethe user's ultimate high-level goal when they use the system, and the customers high-level goal for having it developed   to evaluate requirements based on the question: 'are we adequately solving the problem?'      several times  
project plan a particular audiencethe present cost estimates for the tasks and subsystems, showing all calculations, and including pessimistic and optimistic values   the techniques to be employed for requirements gathering, design, implementation, quality assurance, change management; risk management, and ongoing project management; documents to be produced, including contents of these documents; ways to measure and track the project 11.6 - Contents of a Project Plan        
      Purpose
    1. Background information
    2. Processes to be used
    3. Subsystems and planned releases
    4. Risks and challenges
    5. Tasks
    6. Cost estimates
    7. Team
    8. Schedule and milestones
 the tasks to be completed for each subsystem and release  the system into subsystems and releases, that can be allocated to people or teams   references to related projects and any documents produced so far, such as requirements definitions              A document used in project management describing all aspects of the project's process, including the process model, tasks, risks, cost estimates, team structure and schedule the stakeholders  the business objectives for the project, including quantified anticipated benefits
release notes a particular audience      10.9 - Strategies for Testing Large Systems                                A document describing a particular release of software, including a known bugs list     
requirements document a particular audience      4.7 - Types of Requirements Document  the author and stakeholders several iterations of development and reviewnon-functional requirements  requirements in the introduction and conclusion to avoid the problem of changing the requirements in one place and forgetting to change them in another place         change caused by: when incremental changes are made to the systemthe basis for testing the system  a clear title, and sections with meaningful headings and subheadings all the stakeholders changes in each new version highlighted for the reader using change bars  Any document describing a set of requirementsa high-enough level so that the potential users can read it  well organized 
specification a particular audience      4.7 - Types of Requirements Document                                A document that gives complete detail about something. Normally implicitly means requirements specification, but the term design specification is sometimes also used to mean a detailed and precise design document     
standard a particular audience      4.13 - Developing Requirements - References                                A document describing a body of well-respected information that engineers should conform to in order to ensure they are following best-practice, and will consistently produce good-quality products     
test plan a particular audience     long before the testing starts10.8 - Writing Formal Test Cases and Test Plansexplicit and explicit attributesuse cases              once the requirements are developed               A document that contains a complete set of test cases for a system, along with other information about the testing process     

Next representationdocumentation    Uprepresentation    Previous representationdiagram