Running Head: TRADE OFF ANALYSIS
1
Trade Off Analysis
James Larkin
7-13-18
2
TRADE OFF ANALYSIS
Trade off analysis
When developing a software, developers makes tradeoffs, to ensure that the needs of the
client are met adequately. Software development occurs in distinct stages, where each step
contributes to the performance of the final product. After carefully analyzing the system, we
have identified that the system is bulky, and there is a need to eliminate some features. The main
tradeoffs for this system will be the security, and performance of the system. While hosting the
system on a shared server might appear a cheap option, it will create inconveniences for the
company. For instance, it might expose the system to additional security threats (Stair, &
Reynolds, 2017). We decided to eliminate the onsite backup, in order to lower the cost associated
with the backup process. We will utilize the offsite backup for this system.
The organization should only utilize offsite backup since it is more reliable than the
onsite backup (Whitman et al, 2013). Use of both onsite, and offsite backup is costly, and leads
to redundancy and duplication of data. Eliminating onsite backup will not only lower the cost,
but will lead to improved performance for the system. This approach will, however, reduce the
cost of implementing the project, without affecting the performance, timeline, and cost of the
system. These changes were not anticipated initially, and the system has to be adjusted to
incorporate them. These modifications will improve the performance of the system, and ensure
that frequent backups do not disrupt the smooth flow of information in the system. Eliminating
onsite backup will take an extra one month, but will improve the performance of the system by
2-3%. This approach will make the system resilient, more secure and cost effective. The user
requirements will still be met, but with some additional costs. Sucuri costs are affordable, and the
modification will not add a huge burden to the client.
3
TRADE OFF ANALYSIS
References
Stair, R., & Reynolds, G. (2017). Fundamentals of information systems. Cengage Learning.
Whitman, M. E., Mattord, H. J., & Green, A. (2013). Principles of incident response and disaster
recovery. Cengage Learning.
Running head: APPLICATION DEVELOPMENT METHODS
IT487-1803A-01 IT Capstone
Application Development Methods
Group 4
James Larkin
Andrew Raby
Anthony Daghita
Walter Thornton
7/13/2018
1
APPLICATION DEVELOPMENT METHODS
2
APPLICATION DEVELOPMENT METHODS
3
Table of Contents
Overview of Company and Business Case ..................................................................................... 4
Application Requirement Elicitation and Strategy ......................................................................... 5
System Components and Design Requirements ............................................................................. 6
System Development Methodology................................................................................................ 8
References ..................................................................................................................................... 10
APPLICATION DEVELOPMENT METHODS
4
Overview of Company and Business Case
Unidime Developers group chose a company by the name OpenXcell software and
hardware developers. For the past three years, OpenXcell has been rated to be a leading web,
software and mobile-app development firm. The company is known for delivering and provision
of innovative solutions such as mobile apps and software’s. The targeted clients here are the mobile
app users as well as software users. The proposed software focuses on improving communication
servers between clients. Our goal with this will to get the information to the users as quick as
possible and I think that deploying fast servers that match with our streamlined product will be the
key to success in this project (Safronov, n.d.).
In our case, we will be using our university as the main client. The software will be tested
firstly in our university to check whether it works or not. The entire project focuses on introducing
an effective communication between clients through integrating ERP software in our operations.
This will be achieved by incorporating Agile method as the key method. Unidime Developers
chose this approach of methodology because it is suitable for the ERP software, Unidime will be
integrating within the university. Integrating the ERP software using the agile method needs a
method that is able to adjust to any condition in any situation. Unidime personnel discussed the
agile method and came up with the conclusion that it would be suitable for the project. They all
thought it is very fitting for the upcoming project for a software application that will incorporate a
student information system. If the ERP software works as expected, it will be launched to the
market for widely distribution to users. Note that, the Client Application Solution will involve
addressing issues to do with poor and inadequate communication between the software users.
APPLICATION DEVELOPMENT METHODS
5
Application Requirement Elicitation and Strategy
When developing the ERP software, the elicitation strategy will involve collecting data and
information from both the stakeholders and clients. Among other key requirements to be
considered in the elicitation exercise are: - the business analysis, knowledge and ideas about the
surroundings as well as identifying all risks and uncertainties associated with the proposed
software. The above elicitation strategy focuses on ensuring the software is clearly accepted by
both the stakeholders and clients. The target audience are the IT developers both in our school and
the selected company. This will help in updating them about the changes and updates that need to
be incorporated in the ERP software to improve its performance.
Among the questions to be answered are: - what are some of the changes associated with
the new upgrades, how will the new implementation differ from the old one, what are some of the
areas that need to be changed, how will such changes and updates bring a change to the entire
software.?. These questions are meant to ensure the clients and stakeholders are able to identify all
changes with the new software. Using the above elicitation strategy, there are number of changes
that will occur in the initial application requirements. Firstly, the processing speed of the software
will change. This focuses on ensuring quick communication between clients and stakeholders.
Secondly, the new software will be authenticated from the third-party access. Data communicated
will be protected by use of both private and public key (Safronov, n.d.).
APPLICATION DEVELOPMENT METHODS
6
System Components and Design Requirements
There are many components that will need to be in place for this project to run smooth. We
will need to ensure that the system is built on a solid base. We will need to build redundant web
and database servers to host the application and all the data. This is a rather large and costly
undertaking and we need to make sure we get the most for our money. The first place to start would
be the webserver. We have a couple of options for this we can either go with a hosted solution
where we rent servers at a data center. This may be a good route to go since most of the
maintenance and security updates will be handled by the service provider which can help eliminate
some of the cost of have a larger IT staff. There can be a lot of maintenance when it comes to
running these servers such as hard drive and other hardware failures (Burd, 2015).
If your IT staff is slow to respond then the system may not be available for longer periods
of time then if it was hosted by a company that guarantees 99% uptime. That being said I still
believe that the best option would be to build a couple web servers on site and make sure the IT
staff is trained to maintain and properly run the servers. We should also be thinking about disaster
recovery at this point and start to work in some safety nets. We will need to run at least 2 of each
server because like they say 2 is 1 and 1 is none. So, having a server in place for the system to
failover to will be a crucial in the case that the main server goes down. This should give us a great
foundation to run the web app and the school’s website from (Burd, 2015).
We are also going to need to build a database server. We will be deploying a SQL server
that will house all the student information for the application. The application will reference the
SQL database to return requests to the user. This will have to be a very powerful server since it
will be searching for data constantly to return the info to all the users at the same time. The last
piece we will need for the system will be a file server to store all the information. We will need to
APPLICATION DEVELOPMENT METHODS
7
run some fast drives to help deliver the speed the client is looking for and make the user experience
better. We will also need to have backups running on this server to help protect the data. I
recommend us doing onsite backups as well as backing up to an offsite location for disaster
recovery purposes. This will help us rebuild the system faster if the main datacenter is destroyed.
Our goal with this will to get the information to the users as quick as possible and I think that
deploying fast servers that match with our streamlined product will be the key to success in this
project (Burd, 2015). We will want to future proof the system a little bit by using the best gear the
budget can afford so that the user can utilize it for years to come.
APPLICATION DEVELOPMENT METHODS
8
System Development Methodology
For the forth-coming project Unidime Developers are tasked with, the student information
system project, the system development methodology that will be utilized will be the Agile
method. Unidime Developers chose this approach of methodology because it is suitable for the
ERP software, Unidime will be integrating within the university. Integrating the ERP software
using the agile method needs a method that is able to adjust to any condition in any situation.
Unidime personnel discussed the agile method and came up with the conclusion that it would be
suitable for the project. They all thought it is very fitting for the upcoming project for a software
application that will incorporate a student information system.
The agile methodology is well perceived to software development. The requirements of an
application are normally and characteristically dynamic in structure. Incorporating the agile
method allows personnel to receive feedback on a system or application prior to its finishing
development enabling it to be a more customizable system. In the scenario of the SIS (student
information system) other developments or situations could come abroad, whether it is positive or
negative. The agile methodology will be very suitable for the situation. As far as the waterfall
method goes, what was a discussion in the discussion board, and why it would not be preferable
for this task is simple. It does not work well or particularly adhere with changes, midstream of a
project. Basically, the lone reason for using the agile method. It’s basically on the spot insurance
for right now that pays at that very moment. You can adjust or take care of the situation as you go.
Unidime is not trying to go backwards and fix things or start from scratch, never have and don’t
plan on it in the future. Something hellacious has to come about for that, and thus why Unidime
has reputable track record. Product development for initial mock-ups can be done prior to the
completed version of the system requirements.
APPLICATION DEVELOPMENT METHODS
9
Unidime will also incorporate the SCRUM framework to work in coherence with the agile
methodology. Scrum portrays as an acronym but is not. Scrum is a term borrowed from rugby in
the management and technological world to stress the importance of teamwork on complex team
projects. The idea of scrum is to work as a team in a complex environment in small effective units,
accomplishing objectives and not tasks. Sounds a lot like Unidime, small, local, effective
workgroup that gets the job done. So, the agile method with the scrum framework will be an
effective methodology for this project (Larkin, 2014).
APPLICATION DEVELOPMENT METHODS
References
Burd, B. (2015). Application Development All-in-One For Dummies. Wiley.
Larkin, M. (2014). Shopify Application Development. Packt Publishing.
Safronov, M. Web application development with Yii and PHP.
10
Purchase answer to see full
attachment