Deployment

 

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper
  • Develop a proposal for each of these approaches: insourcing, outsourcing, and a combination of the two.
  • Present the pros and cons or benefit analysis for each of the 3 proposals.
  • Perform a financial analysis of the total costs for each proposal that includes ongoing support and maintenance.
  • Recommend 1 of these proposals and your reason for selection of that proposal.

ONLINE APPOINTMENT SYSTEM

1

ONLINE APPOINTMENT SYSTEM 18

Connie Farris

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Colorado Technical University

Systems Analysis, Design and Integration

(IT425-1801A-03)

Crispin Jose

January 5, 2018

Table of Contents

Unit 1: System Overview

4

Description of System Capabilities

4

Users and Stakeholders

4

Project Sponsor

4

Unit 1: Requirements Specification 5

Overall System Goals and Objectives 5

Elicitation Methods

5

Functional Requirements

5

Non-Functional Requirements

5

Assumptions and Constraints 5

Unit 2: System or Application Design

6

Use Case Diagram

6

Functional Decomposition Diagram 6

Data Flow Diagram or Class Diagram or Entity Relationship Diagram

7

Sequence Diagram 8

Storyboard or Mockup 8

Unit 3: Test and Quality Assurance Plan 9

Unit Test Plan

9

System Test Plan 9

Acceptance Test Plan

10

Quality Assurance Test Plan 10

Unit 4: Development Strategy 11

Insourcing

11

Outsourcing 11

Hybrid (Combination of Both)

12-13

Development Strategy Cost Analysis 14

Proposed Development Strategy 15
Unit 5: Integration and Deployment Plan 16

Work Breakdown Structure 16

References 17

Unit 1: System Overview
Description of System Capabilities

With this project, my idea is to design an Online Appointment Request System that will book and confirm appointments by the requesting company, business or individual assigned to overseeing the project

.

The goal here is for an easy online experience for the company and client.

Users and Stakeholders

The users will be the clients who depend on this system to work properly and be easy and efficient when they need to communicate with this company. In this situation, the stakeholders consist of the management personnel to work with the developer to assure all requirements the company need to make this software a success. (villatorita, 2014)

Project Sponsor

The financial advisor will be working with all stakeholders to ensure cost and time limits. He will also make sure that the software will comply with the goals to make this accessible to benefit the employees and the clients. He will have constant access and will work closely with the developer and stakeholders to guarantee that requirements are met.

Unit 1: Requirements Specification

Overall System Goals and Objectives

We are looking for software to schedule online appointments in a timely manner that is user friendly for the employee and the client. It should be able to handle all aspects from scheduling to notifying the client.

Elicitation Methods

Elicitation methods are used to gather requirements. These are two ways that can be used to gather the requirements for the project:

Meeting with the stakeholders to get basic idea of what is required of this software program.

Frequent discussions with the sponsor and stakeholder to decide cost and time frames.

Functional Requirements

This software should provide the ability for the client to request an appointment with the desired person using the shown available days and time for the person. It should also be able to update the system regularly show the date and time of the appointment and confirm with client. The system should maintain the schedule of booked appointments on a regular basis, Another option

would be a system to allow to reschedule, delete or cancel appointments.

Non-Functional Requirements

There should be a user-friendly interface that is easy to use, navigate and understand. Security measures should be in place to ensure the data. Both functional and non-functional should be intensely tested frequently. The system needs to be able to perform as desired in a multi-user environment. Assumptions and Constraints Appointments made that year should be stored in the software along with client contact info. All provisions of the software will be assured to meet all requirements.

Unit 2: System or Application Design

Use Case Diagram

Functional Decomposition

Data Flow Diagram or Class Diagram or Entity Relationship Diagram

Sequence Diagram

Storyboard or Mockup

Unit 3: Test and Quality Assurance Plan

Unit Test Plan

I will be using White box testing technique with an internal perspective of the system to design test cases based on internal structure. Statement test will be first, each statement of the program will be pushed through at least one time. Branch test will come next, this is done to check all branches of the program source code at least once. Expression testing will be done to test the application for different values of Regular Expression. Functionality test using the Black box testing techniques used to test functionality of the application, these will include Input Domain testing concentrating on size and type of every input object in terms of boundary value analysis and Equivalence class. Fault testing will be conducted putting known defects in the code and tested until they are all found.

System Test Plan

System testing is usually performed after unit testing, acceptance testing or integration testing. The testing I will be doing will start with Usability Testing, this will be executed to make sure the interface is user friendly and easy to operate and use. Functionality test will be done to make sure the system functionalities are acting as expected and specified in the system requirements. Performance testing will be used to test the performance and make sure it won’t crash while in operation with all resources. A Stress Test will monitor the system behavior when it is operated under stress and to mark its break point. Error-Handling Test is testing to see how well error-conditions are handled such as user input errors or format errors. Along with these tests a Load & Stability Test, Compliance & Regulatory Test, Security Testing and Recoverability Test.

Acceptance Test Plan

The customer specifies scenarios to test when a user story has been correctly implemented. A story can have one or many acceptance tests, whatever it takes to ensure the functionality works.

The test will be performed on the Component Level, Integration Level and the System Level. Some of the test used in this category are ones previously used Compliance testing will be used to test that the systems specifications and operations complies with the regulators. Functional testing will be conducted for the reasons stated above. Operational readiness testing will de done to back up facilities and procedures for disaster recovery. Security, Capacity, Timing and Stress test will all be included in the Acceptance Test Plan. Every test will be executed in all three levels.

Quality Assurance Test Plan

Quality in the software is one of the pivotal aspects of a software development company. quality assurance starts from the beginning of a software project, right from the analysis phase.

Many different activities are involved in Quality assurance such as, Requirement analysis and definition, Design architecture and description, Coding and logic analysis, Change and configuration management, Testing and standard compliance and Release management and Release Control. Functionalities of Quality Assurance are the following, Maintaining the quality of the project as per business requirements and Specifications, Inspection, formal and informal reviews: Direct fault detection and removal without executing the project scenario, Testing the project for Failure observation and bug removal, Risk identification, Defect tracking techniques and methods, Software fault tolerance and Concluding Remarks and maintaining reports. All of this is required to ensure Quality Assurance in any software design.

Unit 4: Development Strategy

Insourcing

Development through insourcing is done through the utilization of specialists within the organization. This approach enables the maximization of knowledge and expertise of in-house personnel. It also allows an opportunity for management to micromanage the development process to make sure it can satisfy the requirements and standards the organization has set for the system design. (Differencebetween.com, 2017)

With insourcing, the development process is generally within the control of the organization as it has the control over the whole thing. However, it is heavily reliant on its personnel’s capacities and is constraint by the time allowance it has before its planned launch. If the organization goes on through this route, the stages will be planning, analysis, design, development, testing, implementation, and maintenance.

Outsourcing

Development through outsourcing is at the other end of the spectrum as it is done through an outside source, which explains its name. In outsourcing, the organization looks for a vendor who is willing to develop the system design for the organization, so it costs more. However, it requires less effort, less time, and less human resource as the development process is not shouldered by the organization but by the outsourced developer.

With outsourcing, the organization is not really in control of the development process although it can maintain close supervision (if it is stipulated by the contract or agreement or if circumstances will allow). (Differencebetween.com, 2017) If the organization goes on through this route, the stages will be planning, definition of project scope, selection of target system, establishment of logical requirements, development of a request for proposal (RFP), evaluation of RFP returns and selection of vendor, testing and acceptance of solution, and then monitoring and re-evaluation.

Hybrid (Combination of Both)

Development through a combination of insourcing and outsourcing is done through the strategic selection of which processes among the development cycle will be handled through insourcing and which processes will be accomplished through outsourcing. This allows the organization to select what it will do on its own and what it will outsource to a vendor.

With the combination of both approaches, the organization’s control in the development process depends on its planning and strategy. The organization can either take care of the development process and outsource the testing, documentation, and support or vice versa, that is, the organization can also outsource the development process but conduct the testing, documentation, and support for the outsourced system design. The stages involved in the process entirely depends on the route the organization will take but typically encompasses the stages mentioned in the insourcing and outsourcing approaches. (Differencebetween.com, 2017)

Development Strategy Cost Analysis

In summary, the pros and cons of insourcing, outsourcing, and the combination of both are presented in the table below followed by a discussion of their respective strategic benefits. The pros and cons of insourcing, outsourcing, and the combination of both approaches.

Pros

Cons

Insourcing

· Company is generally in control/ Allows micromanagement
· Enables maximization of personnel
· Gives the organization a sense of ownership

· High cost in terms of time and human resources
· Need for specialized training
· Need for its own monitoring and re-evaluation systems
· Susceptibility to internal risks as it is heavily reliant to internal resources

Outsourcing

· Vendor is more knowledgeable and experienced on the development
· Time frame is within the organization’s control
· Less time needed for implementation
· Provides insight for the organization on how outsourcing works
· Established support systems

· Lesser degree of control
· In most cases, no room for micromanagement
· Higher financial cost
· Susceptibility to external risks

Combination

· Degree of control depends on the organization’s strategy
· Provides more options for the organization
· Allows access to best of both insourcing and outsourcing
· Less effort and faster than insourcing
· Cheaper than full-pledged outsourcing

· Susceptibility to both internal and external risks
· Susceptibility to the worst of both insourcing and outsourcing
· Requirements involve both internal and external resource

Proposed Development Strategy

1. Ideally, insourcing produces a quality system design but mostly at the expense of time and human resource as sometimes specialists need a specialized training for the development of the system design and the organization usually takes time to make sure they produce the best result. With insourced system design, maintenance becomes easier at the organization is well-familiarized with its intricacies. More importantly, it gives the organization a sense of ownership of the system design.

2. Meanwhile, in an ideal scenario, outsourcing produces a high-quality system design as the outsourced developer is expected to be more knowledgeable on the matter but of course, at the cost of a higher financial cost. With outsourced system design, constant monitoring and re-evaluation is necessary to ensure the system design still meets the requirements set by the organization.

3. Finally, the combination of both approaches should ideally be advantageous to the organization. However, the system design is heavily dependent not only on the strategy of the organization but also on the prevailing conditions or how the whole process will turn out. With this, the organization can make the best, or in some cases the worst, of the two approaches.

Financial Analysis

Considering all the resources required for the development process, insourcing appears to be more expensive since internal resources are immensely utilized to the development of something brand new. Outsourcing, on the other hand, is more likely to produce a quality system design but it demands higher financial cost (except in cases that the system design is already pre-built prior to the purchase). The specifications, however, might not meet the requirements stipulated by the organization. Lastly, the combination of approaches might be cheaper than outsourcing and takes less internal resources than insourcing but its need for both internal and external resources also comes as its cost.

Regardless of development procedure, there will still be a need for monitoring, evaluation, and or support so this must also be noted in the financial analysis of the three approaches. This can take 15-20% of the original development costs. Development can easily cost $200,000 or more, so that means $30,000 to $40,000 must be allotted annually for these processes.

Insourcing costs less financially but it takes time, which is also crucial for the organization. Outsourcing beats insourcing in this regard. It might initially cost higher but its established support systems might outweigh this con since development of own system design will require establishment of its monitoring and re-evaluation systems

Conclusion

Based on the projected pros, cons, and strategic benefits of each of the three approaches, the organization should take on outsourcing. This recommendation is mostly based on the time it requires, the established support system it already has, and the insight it will bring to the organization for its first take on outsourcing. Timing is crucial for business in its initial years and reliability is critical in the long run and both can be achieved through outsourcing.

Of course, with this route, a strict requirement for vendor selection and close supervision must be done by the organization to minimize the risks and ensure the highest quality of the system design. The contract or agreement must also be specific, so the organization has the leverage in case of conflict or non-compliance in the vendor’s side.

With outsourcing the development, in-house specialists can focus on other business processes they can investigate, systematize, and maximize.

Unit 5: Integration and Deployment Plan

Work Breakdown Structure

References

villatorita, a. (2014). introduction to software project management. [online] spmbook.com. Available at: http://www.spmbook.com/downloads/slides/pdf/C01.01-Projects_and_Stakeholders.key [Accessed 3 Jan. 2018].

Writer, S. (2010). comparison-various-software-development-life-cycle/. [online] itproportal.com. Available at: https://www.itproportal.com [Accessed 1 Jan. 2018].

Melonfire. (2006). Understanding the pros and cons of the Waterfall Model of software development. techreublic.com Retrieved 31 December 2017, from https://www.techrepublic.com/article/understanding-the-pros-and-cons-of-the-waterfall-model-of-software-development

Callan, S. (2005). Making the case for CASE tools. databasejournal, [online] features/oracle/article/3525621. Available at: http:///www.databasejournal.com/features/oracle/article.php/3525621/Making-the-Case-for-CASE-Tools.htm [Accessed 4 Jan. 2018].
Dias, K. (2017). Evolvement of Computer Aided Software Engineering (CASE) Tools: A User Experience. researchgate.net. Retrieved 2 January 2018, from http://www.researchgate.net/publication/315808988_Evolvement_of_Computer_Aided_Software_Engineering

tutorialspoint.com. (n.d.). Software Case Tools Overview. [online] Available at: http://www.tutorialspoint.com/software_engineering/case_tools_overview.htm [Accessed 03, Jan. 2018].

importance of quality assurance testing in system development life cycle. (2011). wordpress.com. Retrieved 7 January 2018, from https://vizconsult.wordpress.com/2011/05/25/importance-of-quality-assurance-testing-in-systems-development-life-cycle/

Eriksson, U. (2014). Differences between the different levels of tests. reqtest.com. Retrieved 12 January2018, from http://reqtest.com/uncategorised/differences-between-the-different-levels-of-tests/

Gregory, P. (2003). Security in the software development life cycle. http://searchsecurity.techtarget.com. Retrieved 9 January 2018, from http://searchsecurity.techtarget.com/tip/Security-in-the-software-development-life-cycle

Differencebetween.com. (2017). difference-between-insourcing-and-vs-outsourcing. [online] Available at: http://www.differencebetween.com/difference-between-insourcing-and-vs-outsourcing/ [Accessed 22 Jan. 2018].

.

Still stressed with your coursework?
Get quality coursework help from an expert!