0% found this document useful (0 votes)
13 views

07 Implementation Issues

The document discusses key issues in implementing software systems. It covers developing programs in different languages, reusing existing components, managing configurations and versions, developing on a host system that is different from the target execution environment, and tools that support the implementation process like integrated development environments and configuration management tools.

Uploaded by

mrjn2p
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

07 Implementation Issues

The document discusses key issues in implementing software systems. It covers developing programs in different languages, reusing existing components, managing configurations and versions, developing on a host system that is different from the target execution environment, and tools that support the implementation process like integrated development environments and configuration management tools.

Uploaded by

mrjn2p
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

502045

Software Engineering
Chapter 06
Lesson 07: Implementation Issues

July 30, 2020 502045 - Implementation Issues 1


IMPLEMENTATION ISSUES

• A critical stage of software development


process is system implementation where you
create an executable version of the software
• Implementation may involve developing
programs in high- or low-level programming
languages or
• Tailoring and adapting generic, off-the-shelf
systems to meet the specific requirements of
an organization;
July 30, 2020 502045 - Implementation Issues 2
IMPLEMENTATION ISSUES

• Reuse: Most modern software is


constructed by reusing existing
components or systems.
• Configuration management: keep track of
software components’ versions
• Host-target development: development
computer (the host system) vs execution
computer (the target system)

July 30, 2020 502045 - Implementation Issues 3


REUSE

• The abstraction level: At this level, you don’t reuse


software directly but rather use knowledge of
successful abstractions in the design of your software.
• The object level: At this level, you directly reuse objects
from a library rather than writing the code yourself.
• The component level: Components are collections of
objects and object classes that operate together to
provide related functions and services
• The system level: At this level, you reuse entire
application systems.

July 30, 2020 502045 - Implementation Issues 4


REUSE

July 30, 2020 502045 - Implementation Issues 5


REUSE COSTS

• The costs of the time spent looking for


software to reuse
• The costs of buying the reusable software
• The costs of adapting and configuring the
reusable software components or systems
• The costs of integrating reusable software
elements with each other

July 30, 2020 502045 - Implementation Issues 6


CONFIGURATION
MANAGEMENT

• Configuration management is the general


process of managing a changing software
system
• The aim of configuration management is to
support developers:
– Access the project code and documents in a
controlled way
– Find out what changes have been made
– Compile and link components to create a system

July 30, 2020 502045 - Implementation Issues 7


CONFIGURATION
MANAGEMENT

• Version management: keep track of the


different versions
• System integration: define what versions of
components are used to create system
• Problem tracking: report bugs and other
problems
• Release management: plan the
functionality of new releases and
organizing the software for distribution
July 30, 2020 502045 - Implementation Issues 8
CONFIGURATION
MANAGEMENT

July 30, 2020 502045 - Implementation Issues 9


HOST-TARGET DEVELOPMENT

• Software is developed on one computer


(the host) but runs on a separate machine
(the target)
• It is more than just hardware
• It includes operating systems plus other
supporting software such as a database
management system

July 30, 2020 502045 - Implementation Issues 10


HOST-TARGET DEVELOPMENT

July 30, 2020 502045 - Implementation Issues 11


SOFTWARE DEVELOPMENT
PLATFORM

• An integrated compiler and syntax-directed editing


system
• A language debugging system
• Graphical editing tools, such as tools to edit UML
models
• Testing tools, such as Junit
• Tools to support refactoring and program
visualization
• Configuration management tools to manage source
code versions and to integrate and build systems.
July 30, 2020 502045 - Implementation Issues 12
TARGET PLATFORM

• The hardware and software requirements


of a component
• The availability requirements of the system
• Component communications

July 30, 2020 502045 - Implementation Issues 13


Q&A

July 30, 2020 502045 - Implementation Issues 14

You might also like