ISE
ASSIGNMEN
T
LARAIB FATIMA 22l7958
Submitted to: PROF ANOOSHA KHAN
QUESTION # 1
Part 1
No, simply the answer to the question is that, the software does no wear out like the hardware. It is
because software is not a material thing but a program and it has no physical features which
interact with the surroundings I.e;air,water pressure etc. Hence, it’s physical damage do not occur
like the hardware components which worn out with the passage of time.
We can demonstrate the
failure rates of software and hardware and also build their comparison of failure rates with the help
of bathtub diagram.
The bathtub diagram shows that the hardware worn out after a long run while software keeps on
wearing out frequently and in the manner of short time and keeps on fixing simultaneously while
once the hardware is worn out then its recovery is difficult and it needs to be replaced with the
new one.
Part 2
The process of becoming progressively worse is deterioration. When we say this word for the
software it means that when the bugs appear in the software the developers go through the
system again and fix that particular bug, while doing this practice again and again the system
becomes deteriorate because while fixing one issue the potential harms usually appear on the
other ends of the software. By bug fixing, the software is again ready to be use, but it loses its
efficiency
We can avoid deterioration by:
Make sure that software is designed so that changes in one part of a program do not create side-
effects in another part of the program.
Make sure that software is designed so that it does not depend on external devices or systems that
are likely to change with time.
Make sure test cases and results are archived and available so that the software can be retested
when changes are made.
Make sure you spend time understanding what the customer wants.
Part 3
The
ACTUAL FAILURE CURVE OF SOFTWARE BATHTUB CURVE OF HARDWARE
Shows that it does not work in the Shows that it works in a simultaneous
simultaneous manner manner
It is perfect at the time of deployment It is also considered to be perfect at the
time of launch
Bugs appears in the software so abruptly Its quality remains same for a long
like saw tooth. Which makes it unusable passage of time and then starts damaging
slowly.
The bugs are being fixed and the software Still usable.
is again ready to be used.
Deterioration occurs after the bug fixing Still good to be used
It loses its efficiency but dies not worn out It Worns out finally
Still usable Not usable and need to be replaced
QUESTION # 2
Part 1
Software legacy system:
A legacy system is any technology that can no longer be automatically
supported and updated. A legacy system has the following characteristics:
Legacy systems no longer receive support or maintenance Hey are based on
obsolete technology. Such systems are not for sale. It doesn't even have to be
that old - a one-year-old IT system can be considered one if it meets the
criteria.
Why do businesses continue to use it:
These systems have greater business value for several organizations and have
significantly served the organizations and delivered the intended result. These
systems are typically designed for maximum capacity and, in most cases,
remain dependable and durable.
Part 2
The common Software Engineering problems found in legacy systems are
follows:
1)Security Vulnerability
2)Limited flexibility
3)Poor quality
4)Functionalities problems
5)Compatibility problems
Part 3
Legacy systems need to modernize due to security breaches, inability to
compete, and the pandemic. To protect data and information, nations have
enacted privacy rules like GDPR, which can lead to severe penalties and fines. A
recent industry survey by TCS revealed that the pandemic is validating CIO's
digital transformation initiatives, as remote work becomes essential while
legacy systems can't keep up with them.
QUESTION # 3
Part 1
If the software engineers violate or ignore the well accepted guidelines of
software engineering then it would eat up the key purpose of coming into the
existence-the field of software engineering
The quality assurance, time management and the budget are the major aspects
on which the software engineers are supposed to focus. For instance, if the
software engineers make their project so an expensive, nobody would buy it as
there are available competitors in the market who can supply the same product
in a friendly budget. This will kill the time of the software engineer and their
energy will also be drown .planning is the key factor which helps to eradicate
the quality risks and budget exceeding crises that the software engineers
usually face.
Part 2
No software engineering is not the only field which faces the potential
problems due to the volitation of its guidelines rather I'd say that there is not
such a field which do not faces crisis after violating its guidelines
For instance, in the field of medicine one can risk the patient's life if he is
violating the guidelines and it has seen in the world that this actually happens
and results in the ending of patient's life and a physician’s career
In the field of teaching if the teacher violates the guideline, then it would risk
the future of the student and in many cases, it disturbs mental health of the
student
Moreover, if the economists violate the instructions, it would risk the future of
the state and if the armed forced violate their guidelines, then it would
ultimately lead to the death of the country
So, it is so an important to learn and consider the requirements and the
guidelines of your field so that you can work for the betterment and not
accelerates the rate of crisis
QUESTION # 4
Part 1
TensorFlow is an open-source project which attracts me as I'm interested
in the machine learning
Firebase SDK and dark are the open-source projects on which I would
definitely want to work as they are working with the app development and
web development which are the attracted most things to me after artificial
intelligence.
I'm interested in GO programing language, as it is mentioned in the
description that it is a language which is easy to use and read as well as it
can be used in any sort of programing. Moreover, I have interest in the
learning of new programing languages.
Part 2
Username of GitHub laraib110
Part 3
GitHub provides a platform to collaborate with other developers and to add up
different aspects and efficiency on the open-source projects which is ultimately
your growth, it enables professionals to perform all the tasks in a project—from
project planning and source code management to monitoring and security.
Part 4
Google summer of code is a platform which brings the two major interests
together for the development of software community. The two major interests
that make up the google summer of code is inspiring developers and open-
source projects. Google summer of code encourages the new or beginners'
developers to be a part of the community and contribute their attributes
according to their interests and abilities. It is a 12-week program which may
last for a little longer as well depending on the conditions. It provides you a
mentorship and a learning platform to appear as a developer of open-source
projects and even to create your own open-source project later on and to be a
mentor as well. It is a learning platform for students as well, even it encourages
the students to be a [Link] is so helpful to render your services to the software
community and to polish your skills plus to enhance your profile by
collaborating with the open-source projects.