Lect5 Implementation
Lect5 Implementation
SWE2301:INTRODUCTION TO
SOFTWARE ENGINEERING
Lecture 05: Software Implementation
Venue: CIT Theater
Time: 10-1pm
Presented by M. I. Mukhtar
09/13/2023 SWE2301: Introduction to software Engineering 2
Lecture Outline
• Implementation
• Implementation issues
• Open source development
09/13/2023 Implementation & Testing 3
Implementation
• After requirements analysis and design, the next activity
in line is the ‘implementation’.
Programming Language.
• Developing a system using a programming language
involve writing lines of code for the different modules of
the system in the selected programming language
Implementation issues
• Reuse Most modern software is constructed by reusing
existing components or systems. When you are developing
software, you should make as much use as possible of
existing code.
Reuse
• From the 1960s to the 1990s, most new software was
developed from scratch, by writing all code in a high-level
programming language.
• The only significant reuse or software was the reuse of
functions and objects in programming language
libraries.
Reuse levels
• The abstraction level: At this level, you don’t reuse software
directly but 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.
Reuse costs
• The costs of the time spent in looking for software to reuse
and assessing whether or not it meets your needs.
Configuration management
• Configuration management is the name given to the
general process of managing a changing software system.
Host-target development
• Most software is developed on one computer (the host),
but runs on a separate machine (the target).
• Project support tools that help you organize the code for
different development projects.
09/13/2023 SWE2301: Introduction to software Engineering 22
• Component communications
• If there is a high level of communications traffic between components, it
usually makes sense to deploy them on the same platform or on platforms
that are physically close to one other. This reduces the delay between the
time a message is sent by one component and received by another.
09/13/2023 SWE2301: Introduction to software Engineering 23
License models
• The GNU General Public License (GPL). This is a so-called
‘reciprocal’ license that means that if you use open source
software that is licensed under the GPL license, then you
must make that software open source.
License management
• Establish a system for maintaining information about
open-source components that are downloaded and used.
Summary
• When developing software, you should always consider
the possibility of reusing existing software, either as
components, services or complete systems.
Question ??