Introduction
There are a number of Software Development Life Cycle models that can be used in the creation of a successful end user software product for intended clienteles. Some of the methodologies entail the waterfall model, fountain model, spiral model, build and fix model, the rapid prototyping model, the incremental life cycle model, and synchronize and stabilize model. In this case scenario for the purposes of best expectant result, the waterfall model will be of great use and application. This is due to its ease of use and understandability.
The waterfall software development life cycle approach methodology is beneficial in that it facilitates a sequence of phases in which the output of each phase becomes that of the next stage. This technique ensures that mistakes and errors are minimized incredibly since one successful input is dependent on a precedent output.
The stages will comprise of the project planning, or in other words feasibility study initially, and then a system analysis will be carried out to aid in the design phase of the project execution. The final stages involve the testing then the implementation of the proposed system. Subsequently, maintenances are advisably prompted after the successful installation of a system.
Phases of the SDLC
- Requirements identification and analysis
This phase of the development cycle is tasked with preliminary investigation of the end user needs. The end users of the system in this case scenario will be patients, doctors and physicians who will interact with the end system after its development.
This stage of the software creation promotes project planning and he feasibility study to be carried out. This aids in establishing a high level view or display of the intended project and determines the objectives set for the organization. This stage entails data collection of facts and figures and other data variants which involves a feasibility study which is purposed to aid in the carrying out of an economic study of the organizations background. The possibility of loss or damage should also be considered in this case. The conduction of interviews, for instances visiting the venue and the all he end users personally and interrogating them via the use of questionnaires will go a long way in promoting positive data and fact collection techniques.
Subsequently, an analysis of collected data should be carried out to identify and define the requirements for the user and proposed system via refining the project objectives into definite operation and functions of the envisioned application. This study requires the use of tools that examine the system process and facilitate better analysis. Examples of tools are the use of use case or UML diagrams for entity relational and representational activities in the analysis of end user information needs.
One example of an analysis method is the Object-oriented analysis (OOA) which is a method of examining a problem domain, to advance a conceptual model used to accomplish a job. One characteristic of OOA model defines PC software that can be used to fulfill fixed client defined necessities. Throughout the investigation stage of problem unraveling, a systems analyst might ponder on a necessities declaration, an official vision document certificate. The assignment to be addressed can be distributed into some sub-domains, with each signifying diverse issues of concern and every subtask is to be scrutinized distinctly.
- System Design
This stage of the software system development cycle involves the actual creation of the system via the use of design tools, for instant the various programming platforms used for development of software that run on numerous end user operating system. Here, the features and the operational specifications of the desired system are planned and described in detail. The interfaces and layout of the proposed system are noted down in this stage.
Screen layouts, process diagrams, the business policies and rules, the documentation of the source code and writing of the actual source code via coding and generation of programs by software engineers are all defined at this stage of the development. All this is done in respect with the organizations requirements specification.
Graphical user interfaces and human computer interaction devices and instances are implemented in this stage for the intended system. This gives the designers to practice and impart their skills, technical knowhow and innovative approaches in developing attractive and easy to use end user interfaces for their customers.
This is done in consultation with the clienteles of the end proposed system while keeping in mind the design of the system from their approach as well. In this case the user interfaces of the different end users like the doctors, patients and the physician portals for login and the creation of the various databases to represent and aid in data storage of end user details.
- System testing
This is a segment of the development progression that brings all the modules of the system together for use in an exceptional test environment with the aim of identifying the compatibility of the system with the intended environment it will be operating on. Its reliability, interoperability and flexibility are noted at this stage.
The end user memorability and technical knowledge to interact with the system are identified at this stage and feedback collected to find out if the customers are content with system operations and executions. In the case of any need for any rectifications is done at this stage via the identification of errors and bugs in the integrated system environment. If the organization is content with the system then the implementation is carried out.
- System implementation
This is the actual installation of the system and acceptance of the system in the intended environment. Initially software systems are developed to ease and simplify daily work operations via fast execution and processing. The implementation of the proposed system comprises and organization shifting from there old system to the novel one. The successful installation of the system involves training of personnel on how to use the system and adapt to the newly employed system.
- System maintenance
The maintenance of a system are the subsequent activities carried out on the system to ensure its constant operability and consistency in execution and processing of the info that the software platform utilizes. System maintenance entails the rectification of errors and the removing of bugs (debugging) the overall software code. Other activities include the upgrading of the software frameworks to higher introduced and developed versions. This is usually a long term period of the project where there is always need for correction, addition, change of the modularity, simplifying any complexities and changing the technological operating systems to adapt to new and enhanced software metrics.
Technical Issues to be addressed
In any software agreement contract there always has to be technical and reserved issues that always need to be essentially addressed to ease trust between the software developer and the clientele needs. The first subject regarding to user requirements is privacy of data and information.
Customer or patient information is vital to be kept and lock and key preferably high encryption services and level tier commands that are categorized into administrative credential authorization sections. The information might be addresses, bank account information, insurance information, organization budgets and other numerous vital info important to an organization. The working staff are expected to handle information with discretion and use it according to organizational policies and guidelines.
The security of information should be considered and the system put in place should instill back up measure for restoring and backing up data information to act as insurance for any risk of data loss or need for reference in the future. Security measures also are inclusive of setting permission and rights resources over a system platform between employees. Doctor patient relations and recordings are sensitive information that should only be granted access to only authorized personnel.
Shared resources data formats are expected to be optimized to be able to operate in the different operating systems and system platforms intended for the software to run on. Most software engineers are advisably use the common file formats that are compatible and have the ability of interoperating with different entities.
The pre-existing infrastructure for the intended software should be able to support a great capacity for the storage information for the different and data variant types of information that will be stored in the system hard drives and servers meant for communication between the clients and the servers.
Within the binding contract, all the details are expected to comply with the congressional regulations expected to accomplish the organizational objectives. The main and essential aim why organizations are encouraged to adapt to new and fast end technology platforms is aid in positive and swift growth of the business entity while maintaining the records of the company transactions.
The SDLC segments help in the programmatic guide to development plan for a software designing project and offer a flexible but reliable way to execute a project to a time period corresponding to that of the range of the project plan. In each of the Software Development Life Cycle stages the goals are termed in their segments with the key deliverables, an account of endorsed tasks, and a noted summary of the associated control goals or objectives for operational administration. It is therefore critical for the scheme director to launch and observe the control goals for the duration of each and every SDLC level while accomplishing projects. This is because the control goals or objectives aid in providing a pure statement of the anticipated outcome or and ought to be used via the whole SDLC procedure.