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.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% 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.
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