MERCY MUKUNDI SCT212-0050/2019
BCT 2303: SYSTEMS ENGINEERING
Q1. SOFTWARE MAINTENANCE MODELS
QUICK-FIX MODEL
It is essentially an adhoc way to maintain software.
Basically it is about sitting tight and waiting for the issue to occur and afterward attempting to fix it
as speedy as could really be expected.
The principle objective of this model is to recognize the issue and afterward fix it quickly.
In this model, changes are made at code level as right on time as conceivable without tolerating
future issues.
This model is a way to deal with change the product code without little thought of its effect on the
general design of the software system.
Because of this model, the design of the product debase quickly
Advantages:
The fundamental benefit is that it plays out its work for minimal price and rapidly.
sometimes, clients don't sit tight for a prolonged stretch of time. Rather, they require the adjusted
programming to be conveyed to them at all conceivable time. Thus, the product upkeep group
needs to utilize a handy solution model to keep away from the tedious course of Software support
life cycle.
This model is likewise beneficial in circumstances where the software system is to be kept up with
specific deadlines times and restricted resources.
Disadvantages:
This model isn't reasonable for large project system .
This model isn't reasonable to fix errors for a more extended period, as the construction of the
software system corrupt quickly.
BOEHM’S MODEL
In 1983, Boehm proposed a model for the upkeep cycle which depended on the monetary models
and standards. Financial matters model is the same old thing, monetary choices are a significant
structure square of many cycles and Boehm's postulation was that financial matters model and
MERCY MUKUNDI SCT212-0050/2019
standards couldn't just further develop efficiency in the upkeep yet it likewise assists with
understanding the interaction well indeed.
He speculates that it is the stage where the executives choices are made that drive the interaction.
In this stage, a bunch of required changes is dictated by applying specific techniques and cost -
benefits assessments to a bunch of proposed changes. Those supported changes are joined by
organization spending plans, which will generally decide the degree and kind of assets extended.
Boehm had perceived that the upkeep director's assignment is one of the adjusting and the quest
for the targets of support against the limitation forced by the climate wherein support work is
completed. That is the reason, the upkeep interaction ought to be driven by the support
supervisor's choices, which are regularly founded on the adjusting of goals against the limitation.
Boehm proposed an equation for working out the support cost as it is a piece of the COCOMO
Model. Every one of the gathered information from the different ventures, the recipe was framed
as far as exertion.
Boehm utilized an amount called Annual Charge Traffic (ACT), which is characterized as:
The negligible part of a product item's source guidance which changes during a year either through
add, erase or adjust.
The ACT is identified with the quantity of progress demand,
ACT = KLOCadded + KLOCdeleted/KLOCtotal
The yearly upkeep exertion (AME) in person-months is estimated as:
AME = ACT * SDE
Where,
ACT = Annual change traffic,
SDE = Software Development exertion in person-months.
Model –
Yearly change traffic (ACT) for a product framework is 20% each year. The advancement exertion is
700 PMs. Register a gauge the yearly upkeep exertion (AME). On the off chance that the lifetime of
the venture is 15 years, what is the complete exertion of the task ?
Clarification :
Given,
MERCY MUKUNDI SCT212-0050/2019
The advancement exertion = 700PM
Yearly Charge traffic (ACT) = 20%
Complete length for which exertion is to be determined = 15years.
The upkeep exertion is a negligible portion of advancement exertion and that is thought to be
consistent.
AME
= ACT * SDE
= 0.20 * 700
= 140PM
Upkeep exertion for quite some time,
= 15 * 140
= 2100PM
Thus, Total exertion,
= 700 + 2100
= 2800PM
OSBORNE’S MODEL
Osborne hypothesises that many technical problems which arise during maintenance are due to
inadequate management communications and control, and recommends a strategy that includes:
- the inclusion of maintenance requirements in the change specification;
- a software quality assurance program which establishes quality assurance requirements;
- a means of verifying that maintenance goals have been met;
- performance review to provide feedback to managers.
Osborne’s Maintenance Process Model:
MERCY MUKUNDI SCT212-0050/2019
Identification of need for change
Change request submitted
Requirements analysis
Change request
rejected approved
Task scheduled
Design analysis
Design review
Modification to code
Review of proposed change
Testing
Documentation update
Standards audit
User acceptance CANCELLATION
Post-installation review of changes
Task completed
ITERATIVE ENHANCEMENT MODEL
In this Model, you can begin with a portion of the product particulars and foster the main rendition
of the product. After the main rendition in the event that there is a need to change the product,
then, at that point, another adaptation of the product is made with another cycle. Each arrival of
the Iterative Model completions in a precise and fixed period that is called emphasis.
MERCY MUKUNDI SCT212-0050/2019
The Iterative Model permits the getting to prior stages, in which the varieties made individually.
The last yield of the undertaking reestablished toward the finish of the Software Development Life
Cycle (SDLC) process.
The different periods of Iterative model are as per the following:
1. Necessity gathering and investigation: In this stage, prerequisites are accumulated from clients
and check by an investigator whether or not necessities will satisfy. Examiner makes sure that need
will accomplish inside financial plan or not. After all of this, the product group jumps to the
following stage.
2. Plan: In the plan stage, group plan the product by the various graphs like Data Flow chart, action
outline, class chart, state change chart, and so forth
3. Execution: In the execution, prerequisites are written in the coding language and changed into
PC programs which are called Software.
4. Testing: After finishing the coding stage, programming testing begins utilizing diverse test
techniques. There are many test techniques, however the most well-known are white box, black
box, and dark box test strategies.
5. Arrangement: After finishing every one of the stages, programming is sent to its workplace.
6. Survey: In this stage, after the item organization, audit stage is performed to really look at the
conduct and legitimacy of the created item. Furthermore, assuming there are any mistake
observed then the interaction begins again from the prerequisite social occasion.
7. Support: In the upkeep stage, after sending of the product in the work space there might be a
few bugs, a few blunders or new updates are required. Support includes investigating and new
expansion choices.
When to utilize the Iterative Model?
- At the point when necessities are characterized plainly and straightforward.
- At the point when the product application is enormous.
- When there is a necessity of changes in future.
Advantages(Pros) of Iterative Model:
1. Testing and troubleshooting during more modest cycle is simple.
2. A Parallel advancement can design.
MERCY MUKUNDI SCT212-0050/2019
3. It is effectively OK to steadily changing requirements of the task.
4. Dangers are distinguished and settled during emphasis.
5. Restricted time invested on documentation and additional energy in planning.
Disadvantage(Cons) of Iterative Model:
1. It isn't appropriate for more modest ventures.
2. More Resources might be required.
3. Configuration can be changed over and over in light of blemished necessities.
4. Prerequisite changes can cause over spending plan.
5. Task culmination date not affirmed in light of evolving necessities.
REUSE-ORIENTED MODEL
Reuse Oriented Model (ROM), otherwise called reuse-arranged turn of events (ROD), it very well
may be steps of the product advancement for explicit term in which programming is upgraded
through making a grouping of models known as models, each framework is gotten from the past
one with steady series of characterized rules.
The reuse-arranged model isn't generally reasonable in its unadulterated structure because of
reason for a whole collection of reusable added substances that probably won't be accessible. In
such cases, a few new framework parts should be planned. Assuming it isn't done, ROM needs to
think twice about saw prerequisites, prompting an item that doesn't meet careful necessities of
client. This model relies on discernment that upkeep may be considered to be a side interest
including reuse of existing framework parts.
The reuse model has 4 crucial advances which are followed :
1. To distinguish parts of old framework that are generally appropriate for reuse.
2. To see all framework parts.
3. To alter old framework parts to accomplish new prerequisites.
4. To incorporate all of adjusted parts into new framework.
MERCY MUKUNDI SCT212-0050/2019
A particular structure is needed for arrangement of parts and thusly required alteration. The total
reuse form might start from any fragment of the presence cycle – need, arranging, code, plan, or
examine information dislike different models.
Advantages:
1. It can diminish absolute expense of programming improvement.
2. The danger factor is extremely low.
3. It can save bunches of time and exertion.
4. It is extremely effective in nature.
Disadvantage:
1. Reuse-situated model isn't constantly functioned as a training in its actual structure.
2. Compromises in prerequisites might prompt a framework that doesn't satisfy necessity of
client.
3. In some cases utilizing old framework part, that isn't viable with new form of part, this
might prompt an effect on framework advancement.
Q2. SOFTWARE REJUVENATION
Re-Documentation
Here, static examination of your current programming code will be utilized to acquire data, which
will help the support group in understanding its source code. The part sizes and calls, control ways,
calling measurements, and source code are the boundaries used to comprehend your product. The
code produced will be utilized to assess whether your product ought to be re-recorded to upgrade
its presentation.
Restructuring
This includes the change of your product's unstructured code into an organized one, making it
simpler to change and comprehend. In a rebuilding, static examination will initially be performed.
Then, at that point, groundbreaking strategies are utilized for the refining of the portrayal. The
refined portrayal will then, at that point, be deciphered and applied for the age of an organized
code which will be far more straightforward to keep up with and comprehend.
Insightful youthful developer coding on PC in the evening at home
MERCY MUKUNDI SCT212-0050/2019
Reverse Engineering
This procedure will fixate on producing data about your product's plan and detail. This data is then
put away in an effectively modifiable configuration. The source code of the product is first gathered
utilizing a mechanized device; then, at that point, static investigation is performed. Figuring out for
programming revival works on your product's documentation, recuperates lost data and will deal
with your product's intricacies.
Re-Engineering
This is a precise difference in your current programming into another structure. This works on the
nature of the product's capacity, activity, and usefulness while permitting it to perform ideally at
the least expenses. The means of re-designing intently look like those of figuring out, yet
eventually, another framework will be produced under another plan and detail. Re-designing your
product is far less expensive than re-creating it. This likewise diminishes the dangers that
accompany a product adjustment. Also, your staff will rapidly adjust to a re-designed programming
framework.
These methods may sound excessively specialized for most entrepreneurs, however it assists with
having a thought of what they involve. They will have a huge effect in your framework's support
and pertinence notwithstanding evolving innovations. Instead of having your IT group handle them,
re-appropriate your product support to an exceptional firm to limit your running costs and benefit
from the best advances.
Q3. GANTT CHART
Below is a list of activities in a software project.
Activity Duration Immediate Predecessors
A 4 -
B 7 -
C 5 -
D 10 C
E 3 B
F 8 A
G 6 E,F
a) Draw a Gantt chart for the project
MERCY MUKUNDI SCT212-0050/2019
0 2 4 6 8 10 12
b) Which
A 4
B 7
C 5
D 0 10
E 0 3
F 0 8
G 0 6
activities are on the critical path A, F and G
c) What is the project’s estimated duration 18 days