Presentation is loading. Please wait.

Presentation is loading. Please wait.

310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION 310414 SOFTWARE ENGINEERING 310414 SOFTWARE ENGINEERING.

Similar presentations


Presentation on theme: "310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION 310414 SOFTWARE ENGINEERING 310414 SOFTWARE ENGINEERING."— Presentation transcript:

1

2 310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION 310414 SOFTWARE ENGINEERING 310414 SOFTWARE ENGINEERING

3 310414IMPLEMENTATION2 Inception Elaboration ConstructionTransition IMPLEMENTATION — LIFE CYCLE ROLE Phases Core Workflows Requirements Analysis Design Implementation Testing iter. #1 iter. #2 ————— iter. #n-1 iter. #n Increments Iteration 7

4 310414IMPLEMENTATION3 IMPLEMENTATION — LIFE CYCLE ROLE in focus primarily during the construction phase also carried out during: –elaboration phase to create the executable architectural baseline –transition phase to handle late defects the implementation model is maintained throughout the entire software life cycle

5 310414IMPLEMENTATION4 IMPLEMENTATION — ARTIFACTS & WORKERS System Integrator responsible for Architect Implementation Model Architecture Description Component Engineer Implementation Subsystem Interfaces Deployment Model responsible for Integration Build Plan Component

6 310414IMPLEMENTATION5 IMPLEMENTATION — ARTIFACTS implementation model – describes how –elements in the design model are implemented in terms of components such as source code files, executables, etc. –the components are organized according to the structuring and modularization mechanisms available in the implementation environment and the programming language(s) –the components depend on each other production of an implementation model is often the by-product of producing executable code rather than an explicit modeling activity an explicit implementation modeling activity is performed: –if code is intended to be generated directly from the model  need to specify details such as source files and components –if component-based development (CBD) is being done so as to be able to reuse components  allocation of design classes and interfaces to components becomes a strategic issue

7 310414IMPLEMENTATION6 IMPLEMENTATION — ARTIFACTS (cont’d) component – the physical packaging of design model elements, such as design classes  a component may implement several design model elements implementation subsystem – organizes the artifacts of the implementation model into more manageable pieces interface – same as in the design model architecture description – subsystems, interfaces, dependencies and key components of the implementation model integration build plan – a plan for constructing the system in small incremental steps

8 310414IMPLEMENTATION7 IMPLEMENTATION — WORKERS architect – responsible for –the integrity of the implementation model (correct, consistent, readable) –mapping of executable components onto nodes in the deployment model –architecture of the implementation model system integrator – plans the sequence of builds required in each iteration and integrates each build when its parts have been implemented component engineer – defines and maintains the source code of one or several file components and also often the integrity of one or several implementation subsystems

9 310414IMPLEMENTATION8 THE PURPOSE OF IMPLEMENTATION Transforms a design model into executable code. the implementation workflow implements the system in terms of components such as: –source code– binaries –scripts– executables, etc. we need to: –implement the design classes and subsystems found during design –plan the system integration required in each iteration –integrate design classes and subsystems by compiling them and linking them together into one or more executable components –distribute the executable components onto nodes in the deployment model

10 310414IMPLEMENTATION9 COMPONENT standard component stereotypes: «executable»a program that may be run on a node «file»a file containing source code «library»a static or dynamic library «table»a database table «document»a document name A physical, replaceable part of a system that packages implementation and conforms to and provides a set of interfaces. «class» Design Model «file» Implementation Model «resides» 6.3.6

11 310414IMPLEMENTATION10 ASU — DESIGN CLASSES TO COMPONENTS Design Model Implementation Model «resides» CourseMgr CatalogInfoMgr RequestEnrollment Mgr «resides» «file» Course Maintenance «file» Report Generation

12 310414IMPLEMENTATION11 UP — IMPLEMENTATION ACTIVITIES System Integrator ArchitectComponent Engineer Architectural Implementation Integrate System Implement a Subsystem Implement a Class

13 310414IMPLEMENTATION12 CLASS IMPLEMENTATION Goal:implement a design class in a file component Goal: implement a design class in a file component Assign design classes to file components –source code for a design class resides in a file component –the file component scope determines which design classes to include  How we assign classes to file components will be determined by the facilities available in the programming language Generate source code from a design class –major task here is implementing methods for each operation –need to choose a suitable algorithm and supporting data structures –guided by: flow of events, activity diagrams, statechart diagrams, etc.

14 310414IMPLEMENTATION13 DESIGN TO IMPLEMENTATION — OO LANGUAGE  mapping from design model to programming language Analysis ModelDesign ModelC ++ source code Analysis classDesign classC ++ class Behavior in classOperationMember function Attribute (class)Attribute (class)Static variable Attribute (instance)Attribute (instance)Instance variable MessageMessageCall to a (member) function Collaboration diagramSequence diagramSequence of calls PackageSubsystemFile(s)

15 310414IMPLEMENTATION14 DESIGN TO IMPLEMENTATION — NON-OO LANGUAGE  mapping from design model to programming language Analysis ModelDesign ModelVB source code Analysis classDesign classVB class Behavior in classOperationMember function in class Attribute (class)Attribute (class)Static variable Attribute (instance)Attribute (instance)Instance variable MessageMessageCall to a class member function Collaboration diagramSequence diagramSequence of member function calls PackageSubsystemDirectories and file(s)

16 310414IMPLEMENTATION15 SUBSYSTEM IMPLEMENTATION an implementation subsystem organizes the artifacts of the implementation model into more manageable pieces  can consist of components, interfaces and other subsystems Each design subsystem is implemented by an implementation subsystem (1:1 trace) need a “packaging mechanism” in the implementation environment examples:package in Java project in Visual Basic directory of files in a C ++ project Each implementation subsystem is normally implemented as a component

17 310414IMPLEMENTATION16 ASU COMPONENT MODEL System Security Interfaces IInterfaces IPeopleData People Data ICourseData Course Data Course Registration ICourseRegistration Course Maintenance ICourseMaintenance Report Generation IReportGeneration People Maintenance IPeopleMaintenance

18 310414IMPLEMENTATION17 SYSTEM INTEGRATION build:the implementation of a part of the system’s functionality –each build is version controlled  allows rollback to previous version  each Life Cycle iteration in the Construction Phase will result in at least one build and usually several integration build plan:the sequence of builds required in an iteration –specifies the functionality (use cases/scenarios) to be implemented and the subsystems and components required to realize the implementation Initial builds usually start from the lower layers and expand upwards and to the sides in the layered subsystem hierarchy.

19 310414IMPLEMENTATION18 COMPONENT DEPLOYMENT Maps executable components onto nodes in the deployment model.  focus is on assigning physical component instances to node instances, or components to nodes cssu51: Workstation XYZ: GameEngine P1: PlayerInterface cssu101: PC «LAN» P2: PlayerInterface

20 310414IMPLEMENTATION19 SUMMARY IMPLEMENTATION Implementation Model contains: Implementation subsystems and their dependencies, interfaces and contents Components and their dependencies Mapping of executable components onto nodes in the deployment model Architectural view of the implementation model


Download ppt "310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION 310414 SOFTWARE ENGINEERING 310414 SOFTWARE ENGINEERING."

Similar presentations


Ads by Google