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

Tutorial 8

1) The document is a tutorial assessment for a software engineering course, consisting of multiple choice and short answer questions about software evolution, maintenance, and Lehman's Laws of Program Evolution. 2) One question asks students to identify which of Lehman's Laws was violated by the increasing complexity of Microsoft Word over time. 3) The assessment examines factors that influence software maintainability and the costs of ongoing maintenance and evolution over a system's lifetime.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Tutorial 8

1) The document is a tutorial assessment for a software engineering course, consisting of multiple choice and short answer questions about software evolution, maintenance, and Lehman's Laws of Program Evolution. 2) One question asks students to identify which of Lehman's Laws was violated by the increasing complexity of Microsoft Word over time. 3) The assessment examines factors that influence software maintainability and the costs of ongoing maintenance and evolution over a system's lifetime.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 8

FACULTY OF COMPUTING MARKS:

/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING

TOPIC: Chapter 8 Software Evolution


ASSESSMENT: Tutorial #8 NUM: - DURATION: 2 hours
MATRIC NUM: _______________________________ IC NUM: ________________________________

General Instructions:

1. This task should be done individually.


2. Answer all questions based on specified case.
3. Named your submission using your metric number then followed by your first name.
Example: CB1010101_rozlina

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

TOPIC: Chapter 8 Software Evolution


ASSESSMENT: Tutorial #8 NUM: - DURATION: 2 hours
MATRIC NUM: _______________________________ IC NUM: ________________________________

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

TOPIC: Chapter 8 Software Evolution


ASSESSMENT: Tutorial #8 NUM: - DURATION: 2 hours
MATRIC NUM: _______________________________ IC NUM: ________________________________

 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?

i. Cost of modification higher than build a new one


ii. Justification of existing system (No longer required in new business environment/
useless condition to the needs

3
FACULTY OF COMPUTING MARKS:

/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING

TOPIC: Chapter 8 Software Evolution


ASSESSMENT: Tutorial #8 NUM: - DURATION: 2 hours
MATRIC NUM: _______________________________ IC NUM: ________________________________

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

TOPIC: Chapter 8 Software Evolution


ASSESSMENT: Tutorial #8 NUM: - DURATION: 2 hours
MATRIC NUM: _______________________________ IC NUM: ________________________________

 Implementing system
changes tends to degrade
the system structure and
hence reduce its
maintainability

 Maintenance costs depend


on the number of
changes, and the costs of
change implementation
depend on the
maintainability of system
components

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

TOPIC: Chapter 8 Software Evolution


ASSESSMENT: Tutorial #8 NUM: - DURATION: 2 hours
MATRIC NUM: _______________________________ IC NUM: ________________________________

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

 If there are anticipated


changes to the businss
running the system, such
as the emergence of new
compeitiors or the
introduction of new
legislation.

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

TOPIC: Chapter 8 Software Evolution


ASSESSMENT: Tutorial #8 NUM: - DURATION: 2 hours
MATRIC NUM: _______________________________ IC NUM: ________________________________

for re-engineering
 The extent of data
conversion required

 The availability of expert


sstaff

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

 Replace all or part of the


system with a new system

Term Definition
The four clusters of legacy  Low quality, low business
systems  Low quality, high
business value
 High quality, low business
value

 High quality, high


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

 The system outputs

Term Definition

7
FACULTY OF COMPUTING MARKS:

/20
COURSE: SOFTWARE
CODE: BCS1033
ENGINEERING

TOPIC: Chapter 8 Software Evolution


ASSESSMENT: Tutorial #8 NUM: - DURATION: 2 hours
MATRIC NUM: _______________________________ IC NUM: ________________________________

Factors to consider in the  Supplier stability


environment assessment of  Failure rate
legacy systems  Age
 Performance
 Support requirements
 Maintenance costs

 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

 The volume of data used


by the system

You might also like