17
Implementation & Implementation & Integration Phase Integration Phase Implementation, then integration: Implementation, then integration: Each module is implemented by Each module is implemented by member of programmer team and member of programmer team and tested by SQA; tested by SQA; Then, the modules are put Then, the modules are put together and tested as a whole. together and tested as a whole. Weaknesses: no fault isolation/ Weaknesses: no fault isolation/ major design faults show up later major design faults show up later

Implementation & Integration Phase Implementation, then integration: Implementation, then integration: Each module is implemented by member of programmer

Embed Size (px)

Citation preview

  • Implementation & Integration PhaseImplementation, then integration:Each module is implemented by member of programmer team and tested by SQA;Then, the modules are put together and tested as a whole.Weaknesses: no fault isolation/ major design faults show up later

  • Top-down implementation and integrationE.g., (a, b, c, d, e, f, g, h, i, j, k, l, m)E.g., (a, b, e, h, c, d, f, i, g, j, k, l, m)Code and test the logic modules before coding and testing the operational moduleslogic modules: incorporate the decision-making flow of control aspects of the product (a, b, c, d, g, j)operational modules: perform the actual operations of the product (e, f, h, i, k, l, m)

  • Top-down implementation and integrationStrengths: major design faults show up earlyfault isolationWeaknesses: potentially reusable modules (operational modules) are not adequately tested.

  • Bottom-up implementation & integrationE.g., (l, m, h, i, j, k, e, f, g, b, c, d, a)E.g., ((h, e, b), (i, f, c), (l, m, k, g), d, a)Strengths: fault isolation potentially reusable modules are adequately testedWeaknesses: major design faults show up late

  • Sandwich implementation and integrationLogic modules: a, b, c, d, g (implemented and integrated top-down)Operational modules: e, f, h, I, k, l (implemented and integrated bottom-up)Strengths: fault isolation, major design faults show up early, potentially reusable modules are adequately tested

  • Implementation & integration of object oriented productsTop-down implementation and integration: stubs are used for each method in the same way with classical methods.Bottom-up implementation and integration: the objects that do not send any message to other objects are implemented and integrated first, then other.Sandwich implementation and integration: class methods are implemented top-down and then integrated with other objects.

  • Implementation & integration testing The CASE tool runs each test case in turn, compare the actual results with the expected results, reports to the user on each caseAutomated testing (special script) for GUI proceeds as if there were no GUI (e.g., QAPartner, Xrunner)

  • Production Test COTS (shrink-wrapped) software: to ensure that the product as a whole is free of faults.Acceptance test for custom software by SQA groupMust run Black-box test cases for the product as a whole (module-by-module, object-by-object)Must test the robustness of the product as a whole (stress testing, volume testing)

  • Production Test Must check that the product satisfies all its constraintsMust review all documentation that is to be handed over to the clientInspect on a scenario-by-scenario basis to ensure that the behavior of the product is precisely as specified (useful for object-oriented software)

  • Acceptance Test For client to determine whether the product indeed satisfies its specifications as claimed by the developer (SQA group)It must be performed on actual data.When a new product is to replace an existing product, both products must run in parallel until the client is satisfied with the new product. When the product has passed its acceptant test, the task of the developers is complete.

  • CASE Tools for the Implementation & IntegrationA single tool (online interface checker or build tool)Workbench: combined tools; support one or two activities within the software process (configuration control or coding)Environment: provides computer-aided support for most of the process

  • Integrated EnvironmentUser interface integration Process Integration: the environment supports one specific software process (technique based environment)Formalization of the manual processes for software developmentForces users to utilize the technique step by step in the way intended by its author, providing graphical tools, a data dictionary, and consistency checking

  • Integrated EnvironmentStick to a specific technique and use it correctlyE.g., Rose (UML), Analysis/Designer (Yourdons methodology), Statemate (Statecharts)

  • Integrated EnvironmentTool Integration: all the tools communicate via the same data formatData stream tool integration: UNIX programmers workbench (the input and output from each individual tool is an ASCII stream)

  • Integrated EnvironmentFront-end tool integration: via a common front end into which all the tools are embeddedSoftBench: (metaCASE tool) [Riehle, 1991]A tool sends a message to another tool to request on performing an action; if a test fail, send a message to mail tool telling it to inform the manager as which test failed.In order to achieve integration, the front end may have to transform the way data are stored by one tool so that information can be used by a different tool

  • Integrated EnvironmentBack-end tool integration:All tools are interfaced with a common back end (software project database) Integrated CASE tools modify the common data stored in the repository. Well defined interface between repository and tools are required.

  • Integrated EnvironmentTeam integration: the CASE environment promotes effective team coordination and communicationManagement integration: the CASE environment supports management of the process (report, plans, contracts, etc)