Tutorial 8
Tutorial 8
/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING
General Instructions:
Question 1
Consider the SES software project from Tutorial 4.
After 20 years in used, business process in SES is considered as outdated. Give FOUR (4)
strategic options to replace SES in order to fulfil current business requirements.
Source code translation
Reverse Engineering
Program structure improvement
Program modulation
Question 2
Consider the SES software project from Tutorial 4.
Give THREE (3) reasons on why legacy systems such as SES may be critical to the operation of
a business.
Lack of complete system specification
Tight integration of system and business processes
Undocumented business rules embedded in the legacy system.
1
FACULTY OF COMPUTING MARKS:
/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING
Question 3
Suggest THREE (3) reasons why it is becoming more difficult (to understand the code, to make
changes) when different people (not the original system developer) are involved in changing the
SES.
I. New requirements can be accommodated without affecting the timeline or the budget
unless there is a corresponding removal of requirements
II. Even a seemingly simple requirement, such as supporting multiple browsers,
exponentially increases the difficulty of both building and testing software.
Question 4
Explain why a software system that is deployed in a changing organization is always subject to
requests for change.
Why do these changes become increasingly expensive?
I) Continuing change
II) Faults from the past
III) Not easy to find the programmer to understand the old coding
IV) Development team not probably in the maintainance team
Question 5
“During the 1980s, Microsoft Word was introduced as a simple word processor which operated in
256K of memory. However, Microsoft Word has been transformed with gigantic features and
requires many megabytes of memory with a fast processor to operate. “
Which of the Lehman’s Laws has been violated? Based on your opinion, why it was happening?
1) Increasing complexity
This is because as an evolving program changes, its structure tends to become more
complex. Extra resources must be devoted to preserving and simplifying the structure.
2
FACULTY OF COMPUTING MARKS:
/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING
For example, Microsoft Word with gigantic features requires many megabytes of
memory with a fast processor to operate.
Question 6
Suggest a circumstance that software should be scrapped and rewritten, rather than re-
engineered?
3
FACULTY OF COMPUTING MARKS:
/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING
erm Definition
Lehan's Laws to Program Continuing Change
Evolution Increasing Complexity
Large program evolution
Organizational stability
Conservation of
familiarity
Continuing growth
Declining quality
Feedback system
Term Definition
The three different type of Maintenance to repair
software maintenance software faults
Maintenance to adapt the
software to a dfferent
operating environment
Maintenance to add to or
modify the system's
functionality
Term Definition
Key factors that distinguish Team stability
development and maintenance, Contractual responsibility
and which lead to higher Staff skills
maintenance costs
Program age and
structure
Term Definition
Maintenance predictions that are Whether a system change
closely related should be accepted
depends, on the
maintainability of the
system components
affected by that change
4
FACULTY OF COMPUTING MARKS:
/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING
Implementing system
changes tends to degrade
the system structure and
hence reduce its
maintainability
Term Definition
Examples of process metrics that Number of requests for
can be used for assessing corrective maintainence
maintainability Average time required for
impact analysis
Average time taken to
implement a change
request
Number of outstanding
change requests
Term Definition
System evolution process Change requests
Impact analysis
Release planning
o Fault repair
o Platform
adaptation
System
o
enhancement
Change implementation
System release
5
FACULTY OF COMPUTING MARKS:
/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING
Term Definition
Urgent changes can arise for If a serious system fault
three reasons occurs that has to be
repaires to allow normal
operation to continue
If changes to the sysm's
operating environment
have unexpected effects
that disrupt normal
operation
Term Definition
Two key advantages system re- Reduced risk
engineering has over more
radical approaches to system Reduced cost
evolution.
Term Definition
The activities in the re- Source code translation
engineering process Reverse engineering
Program structure
improvement
Program modularization
Data re-engineering
Term Definition
The principle factors that affect The quality of the
re-engineering costs software to be re-
engineered
The tool support available
6
FACULTY OF COMPUTING MARKS:
/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING
for re-engineering
The extent of data
conversion required
Term Definition
Four strategic options for legacy Scrap the system
system evolution completely
Leave the system
unchanged and continue
with regular maintenance
Re-engineer the system to
improve its
maintainability
Term Definition
The four clusters of legacy Low quality, low business
systems Low quality, high
business value
High quality, low business
value
Term Definition
The four basic issues to discuss The use of the system
when assessing the value of a The business processes
system that are supported
The system dependability
Term Definition
7
FACULTY OF COMPUTING MARKS:
/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING
Interoperability
Term Definition
Factors to considers to assess the Understandability
technical quality of a system Documentation
Data
Performance
Programming language
Configuration
management
Test data
Personnel skills
Term Definition
Examples of quantitive data that The number of system
might be collected while change requests
assessing legacy systems The number of user
interfaces