Home

  About Us

  Products

  Process Models

  SE Resources

  Commentary

  Contact us

Breaking News!

A new blog ...

visit OnCenter, Roger Pressman's running commentary on the world at large

A new edition ... the 7th edition of Software Engineering is available now

A new book ... Roger Pressman and David Lowe on Web Engineering

A first novel ... Roger Pressman's first novel is a technothriller -- The Aymara Bridge

A new curriculum! RSP&A has partnered with QAI to develop a comprehensive Internet-based software engineering curriculum.

A redesigned site! ... we've done a major redesign and added many new features for 2009 - 2010

 
Adaptable Process Model
Task II.10 Develop an Engineering Model



IMPORTANT NOTICE: The complete Adaptable Process Model (APM) is provided for informational purposes and for assessment by potential users. The APM is copyrighted material and may not be downloaded, copied, or extracted for use in actual project work. The full hypertext (html) version of the APM may be licensed for use and customization within your organization. Contact R.S. Pressman & Associates, Inc. for complete licensing information.

Task II.10 Develop an engineering model

II.10.1 Review description of data, function and behavioral information.

This review is intended to familiarize those that did not participate in the creation of the analysis model. In general, it is an informal walkthrough of analysis model content.

II.10.2 Refine data, function and behavioral information, as required.

Intent: The intent of these tasks is to review and refine information gathered during the development of software scope, Tasks II.7.1 - II.7.3. The goal is to establish a basis from which a prototype can be developed or a complete analysis model can be derived.

Mechanics: The developer reviews the description of the software data domain, software functions and behavior. Ambiguity, inconsistency or omissions are investigated and corrected.

Application of Formal Methods: none

Application of CASE Tools: t.b.d.

Deliverables: Refined Software Scope information, if required.

 

II.10.3 Create or extend a prototype of the software.

Intent: The intent of this task is to create a prototype for customer and/or developer evaluation. The prototype may be static or executable and is used to assist in further refinement of software requirements as well as a mechanism for proving implementation approach. If a prototype was created as part of Task I.4, it may be extended or modified at this time.

Mechanics: A number of different options, discussed in Tasks II.10.3.1 through II.10.3.4, are available.

Application of Formal Methods: The use of formal methods will be kept to a minimum during this step. The idea is to create a "rapid prototype." However, it may be necessary to use elements of formal analysis and/or design methods to establish a basis from which the concept model can be built.

Application of CASE Tools: t.b.d.

 

Tasks II.10.3.1 through II.10.3.4 that follow represent four options for building a prototype:

  •  
  • II.10.3.1 Create a paper model (e.g., a mathematical model) of the software.

    Intent: The intent of this task is to create a paper representation of the software that will demonstrate that it can solve/analyze/ implement customer requirements. In general, this approach is used when the software internals can be expressed mathematically using a notation that is amenable to the problem at hand.

    Mechanics: The derivation of a paper model is ad hoc and will be driven by the nature of the technology. For example, if the stability of a control system is under investigation, the mathematics of control theory may be used to demonstrate the stability of system components, assuming that the characteristics of those components are known or can be predicted accurately.

    Application of Formal Methods: no software engineering methods

    Application of CASE Tools: t.b.d.

    Deliverables: Paper model of the software

     

    II.10.3.2 Create a mock-up prototype of the software.

    Intent: The intent of this task is to create a mock-up prototype of the software. In general, this approach is used when the characteristics of a human-machine interface must be explored. Although the screen images may be dynamic, the mock-up prototype does not implement the algorithms that represent technology computation or control. The focus is on the behavior and "look and feel" of the human-machine interface.

    Mechanics: The overall behavior and content of the interface is defined and a prototyping tool (I-CASE) is used to create screen images.

    Application of Formal Methods: human-computer-interface design techniques may be applied, if necessary.

    Application of CASE Tools: t.b.d.

    SQA Checklist:

      1. Have the limitations of the mock-up been adequately explained to the end user?

      2. Does the prototype interface accurately reflect the interface to be developed for the actual application?

      3. Has a behavioral model been created for the prototype?

    Do's & Don'ts

      Do: Consider implementing the prototype on a platform other than the one that will ultimately be used. This will force you to apply engineering principles to the final implementation of the technology.

      Don't: Attempt to implement the entire system. You focus here is on the interface&endash;its look and feel.

    Helpful Hints

    See interface design references

    Deliverables: Mock-up prototype

     

    II.10.3.3 Create a simulation model of the software.

    Intent: The intent of this task is to create a executable simulation model of the software in which all technology components are represented. In general, this task is applied when the performance and/or behavior of the software must be investigated for a variety of input and event conditions. This subtask is especially useful when real-time software is considered.

    Mechanics: All system components are modeled using the notation and heuristics of the CASE simulation tool that is used. In most situations, a behavioral model of the system is created, characteristics of each system component are defined, and interfaces are specified. The simulation model can be used to create a code skeleton from which the actual software can be derived.

    Application of Formal Methods: Formal notation and heuristics are defined as part of the CASE tool is used.

    Application of CASE Tools: t.b.d.

    SQA Checklist:

      1. Is the simulation based on known quantitative values that accurately describe the application environment?

      2. Has the simulation model been reviewed for correctness?

      3. Have known cases been run through the simulation and chacked against simulated results?

    Do's & Don'ts

      Do: Apply this subtask when there are questions about performance, behavior, or throughout that cannot be answer by simple other means.

    Helpful Hints

      1. See simulation tool documentation for details

    Deliverables: Simulation model or prototype

     

    II.10.3.4 Build an operational prototype.

    Intent: The intent of this task is to create a fully or partially operational prototype of the application. In general, this task is applied when the prototype is planned in a manner that will have it evolve into a production version of the software.

    Mechanics: An operational prototype may be built using an existing mock-up, interface models or simulation models developed as part of Tasks I.4.1.1 - I.4.1.3 as a starting point. If the software falls into the structured or strict category, it may be necessary to apply formal methods for analysis and design before the prototype is built.

    Application of Formal Methods: Analysis, design and modeling methods, as required.

    Application of CASE Tools: t.b.d.

    SQA Checklist:

  • See SQA checklist questions for Tasks II.10.3.1 through II.10.3.3.
  • Deliverables: Operational prototype

     

    II.10.3.5 Conduct continuing reviews of the prototype with the customer and development staff.

    II.10.3.6 Make revisions to prototype based on the reviews.

    See guidelines for formal technical reviews.

     

    II.10.4 Engineer an analysis model for the software.

    Intent: The intent of this task is to create an analysis model for the software. The analysis model defines all requirements and provides a standardized representation of data, function and behavior.

    Mechanics: Use an analysis modeling notation such as structured analysis or object-oriented analysis along with heuristics that guide you in the application of the notation.

    Application of Formal Methods: structured analysis, object-oriented analysis or another formal method

    Application of CASE Tools: t.b.d.

    SQA Checklist:

      1. Has each model been reviewed for completeness, consistency and correctness?

      2. Have errors been found and corrected in each model?

      3. Have models that have undergone significant change been re-reviewed?

      4. Have the analysts been trained in the analysis method that has been applied?

      5. Has change control been applied as parts of the model have been baselined (large projects only)?

    Do's & Don'ts

      Do: Create a graphical representation of the analysis model. In most cases, it will be easier to present and review.

      Do: Use CASE tools to assist you in the subtasks listed above.

      Don't: Rush through this task. The work that you do here will serve as an important foundation for design.

    Helpful Hints

      1. It is usually best to develop the analysis model using a top-down, stepwise approach. That is, the model is derived iteratively, beginning with a top-level representation of data, function and/or behavior and then refining this information as required.

      2. Be sure you and your colleagues who are working on the project get some training before embarking on Task II.10.4.

    Deliverables:

     

    II.10.5 Engineer a design model for the software.

    Intent: The intent of this task is to create a design model for the software. The design model represents data, function and behavior in the context of data, architectural, procedural and interface designs.

    Mechanics: Use an design modeling and transformation approach such as structured design or object-oriented design along with heuristics that guide you in the application of the approach.

    Application of Formal Methods: structured design, object-oriented design or another formal method

    Application of CASE Tools: t.b.d.

    SQA Checklist:

      1. Has each model been reviewed for completeness, consistency and correctness?

      2. Have errors been found and corrected in each model?

      3. Have models that have undergone significant change been re-reviewed?

      4. Have the designers been trained in the analysis method that has been applied?

      5. Have design principles been followed throughout the model?

      6. Has change control been applied as parts of the model have been baselined (large projects only)?

    Do's & Don'ts

      Do: Create a graphical representation of the design model. In most cases, it will be easier to present and review.

      Do: Use CASE tools to assist you in the subtasks listed above.

      Don't: Rush through this task. This is the place where quality is built!

    Helpful Hints

      1. It is usually best to develop the design model using a top-down, stepwise approach. That is, the model is derived iteratively, beginning with a top-level representation of data, function and/or behavior and then refining this information as required.

      2. Be sure you and your colleagues who are working on the project get some training before embarking on Task II.10.5.

    Deliverables:

     

    II.10.6 Create preliminary test plan and procedure for the software.

    Intent: The intent of this task is to create a preliminary test plan and procedure using information obtained from the data, architectural, procedural and interface design models.

    Mechanics: Each of the design models provides information that is useful in deriving a test plan. The data and architectural design will assist in the derivation of black box tests for integration and validation testing. The procedural design and interface design will assist in the derivation of white box and black box tests for unit and integration testing.

    Application of Formal Methods: test case design methods, see Testing references

    Application of CASE Tools: t.b.d.

    Do's & Don'ts

      Do: Treat test case design with as much care as you treat the design of the software itself.

      Do: Recognize that most software tests can be developed before any source code exists - as long as the design model is complete.

    Helpful Hints: See Testing references

    Deliverables:

      1. Preliminary Integration Test Plan and Strategy

      2. Test cases


    Use Browser "back" arrow or return to APM Process Design Language Description


    Site search! We've added links to a search engine that will enable you to search our entire site for information you need. Enter the appropriate word or phrase below.

    PicoSearch




    Home About us Products Product Models SE Resources Commentary Contact us

    Web site and all contents © R.S. Pressman & Associates, Inc. 2001 - 2010, All rights reserved.
    Free website templates