Implementation Phase of Communication Assets Project (CAP)
Abstract
This paper discusses the implementation phase of the Communications Assets Project (CAP) Software Configuration Management (SCM). CAP is an interoperable communications inventory software package. The project manager for CAP has asked for an analysis for software configuration management. This paper includes the six major activities: coding, testing, installation, documentation, training and support. This document is a discussion on the transition from the design phase to the implementation phase.
Implementation
"In the implementation phase the system is constructed in a series of iterations where each Use Case and component is coded, tested and integrated into the overall system. This phase is performed iteratively following a time line that accounts for all resources and costs" (SCM, 2004). The following six activities are discussed in the subsequent sections: coding, testing, installation, documentation, training and support. Many benefits are seen when using defined and repeatable processes: clarification of roles and responsibilities, clear definition of procedures, demonstrate standards are being met, the same steps can be used to define other processes, and improvement in product design.
Coding
"Changes shall be implemented into the code and unit testing and other appropriate software quality assurance and verification and validation processes shall be performed" (Ecco, 2004). Coding will be performed in small increments to ensure the validity of the new system. Small modules will enable SKM to provide CAP with pieces of software which will enable them to test as each piece is coded. The design document will be used continuously during coding to ensure all requirements are met.
Coding in modules also ensures reusable code. As the company's needs grow, the code will be able to grow with it. This will save CAP resources and costs for future endeavors. The coding will be done using MySQL. This program is open source and documentation is provided for its use. According to the MySQL site the following is also available: "MySQL Reference Manual, MySQL GUI Tools, Expert Guides, MySQL Help Tables and Example Databases" (MySQL, 2007). The code will be optimized to reduce run-time and compact enough to run on most systems.
Testing
The proposed SCM system is an embedded system. SKM will use CodeTEST to test for memory leaks, software performance, test coverage, and memory allocation. With CodeTEST, the whole program can be monitored and measured with reliable traces provided when memory cache is over-run.
Integration of different modules is undertaken once they have been coded and unit tested. During the integration and system testing phase, the modules are integrated in a planned manner. The different modules making up a software product are almost never
Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.
It is a step of defining the goals of the projects and the results are aimed at reaching certain levels of productivity of customer satisfaction. The second stage is measure, and it is the stage of collecting data and facts and evaluating current operational performance. The third stage is analyze with the purpose of developing methods and theories that will best suit the solving of the problem; it is also a stage of detecting cause-and-effect ties of the processes. The fourth stage is improve, it is aimed at generating ideas for reaching the desired process improvement. Finally, there is the control stage that is about monitoring the operations to find out whether the process of improvement is smooth and the problems were solved (Meredith & Shafer,
...takes to set up information in the system. The level of understanding would improve through partaking or getting involved and henceforth could be adapted easily. All the bits and pieces of the project would rapidly increase or grow as per the workflow process. At the end, the overall CPOE system should be able to compare the manual method with the new electronic system and tell which is best and accurate to use and also tell how much time and money will be saved when using either system. At the end of the project the team should be able to come together and discuss whether or not the project met all of the company’s needs such as if it is reliable, efficient, safe and secure and also does it save time and money. Then, if the system has more advantages than disadvantages and it is worth all of the team’s time and effort it would be best to continue with the project.
While developing a software many complex activities are required which in turn have dependencies along them. Large software projects require the involvement of programmers, documentation specialists, program managers, architects, database analysts, system analysts, , and trainers and last but not the least testers. Along with their independent responsibilities these persons are also responsible to maintain and keep a check on the software system quality as well.
The systems planning phase is the first phase completed in the SDLC. It encompasses evaluating the feasibility and the cost of the system, identifying the risks involved with implementing the system, and determining the responsibilities of each of the team members. To begin the planning phase, a systems request is submitted to the IT department, detailing the problems and changes to be made in a system. (Rosenblatt, 2014). It is important to note that the request may be a large, significant request, or it can be a smaller, more minor request; however, each request should be addressed using the systems development life cycle. After the request has been made, a feasibility study is conducted that determines the costs and benefits of the new or improved system. The study then recommends a strategy that is best for the system in terms of technical, monetary, and time factors.
The Systems Development Life Cycle (SDLC) consists of phases used in developing a piece of software. It is the plan of how to develop and maintain software, and when necessary, replace that software. In 2007 during my hospital’s transition to a new software system, I was fortunate enough to be included in the process. I did not get involved until the implementation phase, but from then on, until now, I remain very active in the process. I decided to highlight the Waterfall Model of SDLC. The Waterfall Model is a “sequential development process” with each phase continuing in a line (McGonigle and Mastrian, 2012, p. 205).
A documentation framework is essential for any large project; hence, RUP describes how to document functionality, constraints, design decisions and business requirements. Use Cases and Scenarios, are examples of artifacts prescribed by the process and have been found to be very effective at both capturing functional requirements and providing coherent threads throughout the development and deployment of the system.
Within the analysis phase a set of goals are needed within the domain. From this there are three perspectives which are taken; the object model the Ronald LeRoi Burback (1998) states “dynamic model, and a functional model. The object model represents the artifacts of the system. The dynamic model represents the interaction between these artifacts represented as events, states, and transitions. The functional model represents the methods of the system from the perspective of data flow.” After the analysis phase the system design phase takes place. Here the system is sub-categorized and appointed tasks and persistent data storage is established, also within this phase the architecture is formed. Lastly the object design phase starts and is where the implementation plan is established and algorithms and object classes are also
After an ideal solution is selected and approved its execution through implementation is done to address the problem. All tasks in the implementation should be coordinated with a finite start and implementation closure deadlines as well as milestones. Program evaluation and Review (PERT) as well as Critical Path Method(CPM) are ideal to guide this stage.
Requirements engineering begins during the communication activity, continues into the modeling activity, and builds a bridge from the system requirements into software design and construction. Through requirements engineering, there is an examination of the context of software work performed. It is essential for the software engineering team to understand all requirements of a problem before the team tries to solve the problem. An identification of specific needs that the design and construction must address is also included. Further is a need for the identification of the priorities that guides the order for the completion of work. This i...
Software development follows a specific life cycle that starts with designing a solution to a problem and implementing it. Software testing is part of this software life cycle that involves verifying if each unit implemented meets the specifications of the design. Even with careful testing of hundreds or thousands of variables and code statements, users of software find bugs. “Software testing is arguably the least understood part of the development process” and is also a “time-consuming process that requires technical sophistication and proper planning” (Whittaker 71) It is important to comprehend this concept by understanding the different characteristics and aspects of software testing, and then to examine the techniques, procedures and tools used to apply this concept. This will enable the user to realize the problems faced by software testers and the importance of software testing.
In the Orlando office we have three main databases. We have a Microsoft Access Database, a Visual Source Safe database, and a Microsoft SQL server database with a custom web client front end. The Microsoft Access database is fairly simple. We use this data base to keep track of the computer hardware and software configurations that are used when doing quality assurance testing and problem replication and troubleshooting of the software product. For any one product we can have up to twenty or thirty different configurations. Initially keeping track of the configurations along with the machine name and IP address was done on paper with a grid like matrix. After a short period of time, this became extremely time consuming and impractical. A simple database was set up in Access and then the database was shared to allow each user to be able to find out what configuration each computer was in for that day or that week so that the proper tests and or bug reporting could be conducted. The database allows the users to search by software version, platform type, operating system, machine name, IP address, memory size, and several other items that are not as significant. Before the database was created the engineer would have to leave their desk find the chart and to a cross reference using the matrix that was drawn up, and hopefully that matrix was kept up to date. Now as the technicians update or change the machine configurations they can enter that information immediately into the database and it will automatically provide a matrix view or a tabular view for any engineer who needs it.
The database application design can be improved in a number of ways as described below:
Step 3, developing detailed specifications: after defining the type of product or service that can be used to solve the problem, a detailed specification is drawn.