Principles of Software Engineering Assignment: Analysis and Case Study

Verified

Added on  2021/06/15

|9
|1979
|60
Homework Assignment
AI Summary
This assignment delves into the core principles of software engineering, beginning with an explanation and illustration of Mcllroy's law, which emphasizes software reuse for increased quality and productivity, and Glass's law, highlighting the significance of requirements in project success. It then presents a detailed case study of the FoxMeyer IT project failure, analyzing the root causes related to deficient requirements, implementation, and planning, and recommends strategies to mitigate project risks. Furthermore, the assignment outlines the functional and non-functional requirements for a student administration system, including course registration, timetable analysis, and database security, culminating in a traceability matrix that correlates these requirements. The analysis is supported by references to relevant literature and industry resources.
Document Page
Running head: PRINCIPLES OF SOFTWARE ENGINEERING
Principles of software engineering
Name of the Student:
Name of the University:
Author Note:
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
1PRINCIPLES OF SOFTWARE ENGINEERING
Question a- Illustration of (Mcllroy’s) law.
The law states that software reuse increases quality and productivity and reduces
cycle time. The law was formally drafted in 1968 and this is still valid today. The reason will
be discussed below. There is a need to understand what software reuse is. Existing software
system can be used to create new systems rather than building particular software from
scratch. Mcllroy’s vision stated that off-the-shelf components should be used as building
blocks in brand new systems and modifications within the new system would in a way that is
controlled (Sametinger, 1997). One of the major limitations of this law is that it failed to
address that development of components is also critical. Components that are deemed to be
the building blocks need to be upgraded too. Generative reuse is much more beneficial than
compositional reuse. This type of reuse will increase productivity factor is software. One of
the major advantages that this law brings is that it improves quality considerably since there
is accumulation of error fixes because of reuse after reuse.
Question b- Illustration of (Glass’s) law.
This law states that the prime source of project failures is deficiency in requirements.
This law basically explains that during the course of software development, certain properties
a software development system must have. The first phase is the requirement phase and the
task of this phase is to investigate all the question s that start from ‘W’. Questions like- (what
type of users’ use it, what features it can provide and after final development where the final
product can be used). It is very important that requirements are constantly checked and
updated till it is finalized ("Modularity OSGi™ Alliance", 2018). Irrelevant data,
incomplete or inadequate data may lead to errors in the next phase that is the development
phase. As an example- For creating a software for senior citizens, unknowingly small fonts
Document Page
2PRINCIPLES OF SOFTWARE ENGINEERING
and dark colors are put then old age people will face difficulty in reading the text. This is the
reason why requirements must be clear.
Question c- Case study about failure of an IT project.
A healthcare service company that goes by the name of FoxMeyer was the 5th largest
drug wholesaler in the US (United States). Its annual sales were around 5 billion United
States dollar (Hamrouni, 2018). Around five hundred thousand items were shipped daily. At
that time there was fierce competition and the company needed to make some complex
supply chain decisions. Because of the reasons stated above the company decided to bring in
ERP (Enterprise resource planning) software. ERP is complex software and there is a need to
discuss few points about ERP. ERP is a type of business process management software. It
allows an organization to manage business and automate some function by the use of
integrated applications ("What is ERP - Enterprise Resource Planning? Webopedia", 2018).
Functions are related to services, human resource and technology. Product planning,
manufacturing, development, marketing and sales are all taken care by the Enterprise
resource planning software. This type of software is specifically designed for use by a large
organization. Because of the immense benefits that an Enterprise resource provides
FoxMeyer decided to implement the system. It was expected from company’s end to
eliminate redundant or unnecessary activities, to implement customer services that are more
responsive and finally to set up inventory levels that are appropriate. This was a multimillion
dollar project and was the considered a unique one in the pharmaceutical industry. SAP
implementation for the company was budgeted at 65 million United States dollars. It was
projected that if the enterprise resource system implementation was successful, then it would
save around 40 million United States dollars for the company known as FoxMeyer. The
budget also includes 4 million US dollars for software, 4.8 million US dollars for
Document Page
3PRINCIPLES OF SOFTWARE ENGINEERING
client/server computer system, few millions of dollars as consulting fees and 18 million
United States dollars for a new three forty thousand square foot warehouse that is
computerized. The failure of the project was due to deficiency in requirements,
implementation and planning. Under planning the reasons identified was poor selection of
Enterprise resource planning, lack of contingency plans and no end user involvement was
there. Under implementation the reasons identified was insufficient testing, No restructuring
of the business process, and dominance of information technology specialists’ own interest,
lack of end user cooperation, overly ambitious project scope and poor management support.
For the company, the project was a resounding failure with the total bill amounting to 100
million United States dollars. This was mainly because of faulty implementation of enterprise
resource planning system. The company, FoxMeyer, was able to salvage only half of the
projected amount and after that few months later the company had to file for bankruptcy.
This portion will try to recommend few strategies that will mitigate the risk of project
failures. The first step should be about choosing the right project. Questions like- (what type
of users’ use it, what features it can provide and after final development where the final
product can be used should be addressed). Identifying the causes that leads to a project failure
is an important step towards mitigation. Inadequate communication, failure to identify
document and track requirements, poor plans and planning process, lack in resources, project
managers who are trained inadequately or might be inexperienced, technology illiteracy, poor
budget management, lack of sound sponsorship, quality control that is poor and finally
ignoring the impact of change. Inadequate communication is one of the main reasons for
project failures ("Mitigation Strategies for the Top 10 Causes of Project Failure | Sirius
Computer Solutions", 2018). A large number of people across the enterprise could be affected
which mainly depends on the deliverables of the project and the objective. Therefore atypical
plan for communication should include project risk identification, management, assessment,
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4PRINCIPLES OF SOFTWARE ENGINEERING
project status report, project scope change management, Issue and action item reports and
management and project kick offs and orientation. Additionally, there are few strategies that
can be implemented before the project goes live. There are always some risks present and this
is the reason why an adequate risk management should be there. In order to manage risks, 3
big areas need to be accounted for. These three areas are- risk in execution, risk in integration
and risk in the unknown. Hereby, a framework is proposed that would mitigate the risk. First
one is identifying the risk. The second one is analyzing the risk that has been identified and
its impact on the project. Third one should be prioritizing the risk, which is ranking the risk in
term of damage they can cause to the project (Wakeman, 2018). The fourth one is mitigating
the risk. The most challenging risk should be taken first and then actively working towards it
before they can cause any damage. The most important point is monitoring the risk. There is
a need to make sure awareness for the risk is there.
D. Student Administration System- Functional requirements.
The functional requirements of the student administration system are,
a) Course Registration: The registration of the course by the student in the student
administration system is the primary deliverable for the project and it is the most
appropriate functional requirement of the project.
b) Timetable Analysis: The implementation of the effective timetable development of
information would be supported by the student administration system.
c) Modification PIN: The modification of the PIN is another major requirement for the
student administration system as the student would require logging in and out of the
system.
Document Page
5PRINCIPLES OF SOFTWARE ENGINEERING
d) Single Sign on: The functional requirement of limitation of the access to single user
at a time from one account is helpful for the security in student administration system.
e) Look up Course: The look up course is developed for easing the student with the
faster searching of information.
Student Administration System- Non-functional requirements.
The non functional requirements of the student administration system are,
a) Ease of System handling: The ease of system handling would be eased by the
implication of the successive development implication for student administration
system.
b) Small Response time for the system: The response time should be shortened for
forming the utilization of the effective student administration system.
c) Friendly user interface: The implication of the improved user interface would assist
in deploying the effective and faster implication of student administration system.
d) Backup of the database: The backup of database would be helpful for the
implication of the successive development of the activities favouring the student
administration system (Bharamagoudar, Geeta & Totad, 2013).
e) Secured Database: The secured database would be helpful for forming the utilization
of the activities favouring the implication of the effective development of the
database.
Traceability Matrix of Functional and Non Functional Requirements
The traceability matrix of the functional and non functional requirements for the
student administration system is,
Document Page
6PRINCIPLES OF SOFTWARE ENGINEERING
Ease
of
use
Colorful
Timetable
Appropriate
Information
Student
can look
up
course
Availability
of access
Security Welcome
Page
Course
Registration

Timetable
Analysis

Modification
PIN

Single Sign on
Look Up
Course

Ease of
System
handling

Small
Response time
for the system
Friendly user
interface

Backup of the
database

Secured
Database
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7PRINCIPLES OF SOFTWARE ENGINEERING
References:
Bharamagoudar, S. R., Geeta, R. B., & Totad, S. G. (2013). Web based student information
management system. International Journal of Advanced Research in Computer and
Communication Engineering, 2(6), 2342-2348.
Description of Functional Requirements. (2018). Home.cse.ust.hk. Retrieved 28 April 2018,
from https://home.cse.ust.hk/~fred/FYP/DBDevelopment/Requirements/school-
functional-reqmt.html
Hamrouni, W. (2018). 5 of the Biggest Information Technology Failures and
Scares. Exoplatform.com. Retrieved 27 April 2018, from
https://www.exoplatform.com/blog/2017/08/01/5-of-the-biggest-information-
technology-failures-and-scares
Mitigation Strategies for the Top 10 Causes of Project Failure | Sirius Computer Solutions.
(2018). Sirius Computer Solutions. Retrieved 27 April 2018, from
http://www.siriuscom.com/2012/08/mitigation-strategies-for-the-top-10-causes-of-
project-failure/
Modularity OSGi™ Alliance. (2018). Osgi.org. Retrieved 27 April 2018, from
https://www.osgi.org/developer/modularity/
Sametinger, J. (1997). Software engineering with reusable components. Springer Science &
Business Media.
Wakeman, D. (2018). How to Mitigate Risk on Your Project. ProjectManager.com. Retrieved
28 April 2018, from https://www.projectmanager.com/blog/mitigate-risk-project
Document Page
8PRINCIPLES OF SOFTWARE ENGINEERING
What is ERP - Enterprise Resource Planning? Webopedia. (2018). Webopedia.com.
Retrieved 27 April 2018, from https://www.webopedia.com/TERM/E/ERP.html
chevron_up_icon
1 out of 9
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]