implementation work flow - louisiana tech universitybox/ase/chap5.pdf · cenit integrate build plan...

20
enit c CSC 532: Advanced Software Engineer Louisiana Tech University Implementation Work Flow

Upload: dangdung

Post on 09-Jun-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

enit c

CSC 532: Advanced Software Engineer Louisiana Tech University

Implementation Work Flow

enit c

Topics to cover •  Introduction •  Artifacts •  Workers •  Activities

enit c

Introduction l  Fundamental goal is to build a working

version of system. l  Craft out the Architecture l  Implement the Design in terms of

components. l  Plan System Integrations l  Implement Design classes and subsystems l  Unit test components l  Integrate Components.

enit c

Implementation Workflow Activities and Workers

Architect!& Developers!

System Integrator!

Component!Engineer!

Architectural!Implementation!

Integrate!System!

Implement!a Class!

Implement a!Subsystem/component!

Perform a Test!

enit c

Artifacts l  Implementation Model - Component - Implementation subsystem - Interface l  Architecture Description - View of Implementation Model

l  Integration Build Plan

enit c

Implementation Model l  Describes how elements of design model are

implemented in terms of components such as source code, executable, etc.

l  Describe how components are organized using the structuring and modularization mechanisms of the implementation environment and programming languages

l  Hierarchy of Implementation (sub) Systems containing Components and Interfaces

enit c

Component l Physical packaging of model elements l Standard stereotypes which the UML

assigns Ø  <<executable>> -- a program that may run on a

node Ø  <<library>> -- static or dynamic library Ø  <<file>> -- static or dynamic library Ø  <<table>> -- a database table Ø  <<document>> -- a document Ø  technology specific (<<ActiveX>>, <<Applet>>,

<<DLL>>, <<CORBA Component>>, etc.)

enit c

Component Diagram

<<Page>> Search.html

<<page>> Front.html

<<table>> Book.html

<<Executable>> Search.exe

<<table>> Author.

enit c

Implementation of subsystem

l  Organize implementation model artifacts into more manageable pieces

l  Manifested by a “packaging mechanism” in implementation environment Ø  Component packages Ø  Interfaces

l  Trace one-to-one with design subsystems Ø  same dependencies to other subsystems,

interfaces Ø  provides same interfaces

§  maps one-to-one with which components or other implementation subsystems within the subsystem provide the interfaces of the subsystem

enit c

Interface l As in design, interfaces define the

operations implemented by components and implementation subsystems

l A component that realizes (and thus provides) an interface must implement all the operations defined by the interface

Accounting

<<interface>>

Post() Accounting

enit c

Component implementation with build tools l  Build tools

Ø  Unix make Ø  Ant: XML based build tool Ø  Organize implementation into modules

§  source §  Document §  Output (binary) §  package

enit c

Architectural Description l  implementation model l  Decomposition of implementation model into

subsystems, their interfaces, and dependencies between them

l  Key components Ø  trace to architecturally significant design classes Ø  executable components Ø  components that are general, central, or

implement generic design mechanisms that many other components depend on

enit c

Integrate Build Plan l Describes the build that will occur with

In a given iteration. l Build plan for each increment

Ø  list of functionality: use cases and/or scenarios

Ø  list of implementation subsystems and components

l Test each build, including regression tests

l Configuration management with the build plan

enit c

WORKERS

v  ARCHITECT v  COMPONENT ENGINEER v  SYSTEM INTEGRATOR

enit c

ARCHITECT l Outlines the implementation model. l Ensure the completeness and

correctness. l Mapping the executable components

onto nodes within the deployment model.

l  Include the components from the implementation model and the updated

contents of deployment model.

enit c

Component Engineer l  Is responsible for the source code of the

components and subsystems. l For coding the interfaces associated

with components and subsystems. l  Is responsible for unit testing of his or

her components.

enit c

Unit Testing l Specification testing

l Note that black box testing is not unit testing

l Structural testing or white box testing

§  control flow graph §  Method flow graph §  Class flow graph

enit c

System Integrator l  Is responsible for designing integration

build plan and performing incremental integration .

enit c

Implementation Workflow Activities and Workers

Architect!

System Integrator!

Component!Engineer!

Architectural!Implementation!

Integrate!System!

Implement!a Class!

Implement a!Subsystem!

Perform a Unit Test!

enit c

End chapter Questions/Review

l  What are main activities in this workflow?

l Describe what are necessary tools or processes in this workflow and how they can help growing maturity of, improving quality of the SW product?