implementation work flow - louisiana tech universitybox/ase/chap5.pdf · cenit integrate build plan...
TRANSCRIPT
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
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!