P1: Produce a short report that explains the principles of systems analysis which should include:
What is systems analysis?
Systems analysis the process of observing systems for troubleshooting or development purposes. It is applied to information technology, where computer-based systems require defined analysis according to their makeup and design.
A systems analyst is a person who uses analysis and design techniques to solve business problems using information technology. Systems analysts may serve as change agents who identify the organisational improvements needed, design systems to implement those changes, and train and motivate others to use the systems.
A system is a general set of parts, steps, or components that are connected to form a more complex whole. For example, a computer system contains processors, memory, electrical pathways, a power supply, etc. For a very different example, a business is a system made up of methods, procedures, and routines.
What is SDLC?
Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality software’s. The SDLC aims to produce a high quality software that meets or exceeds customer expectations.
SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.
The stages of SDLC:
Stage 1: Planning and Requirement Analysis
Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas.
Stage 2: Defining Requirements
Once the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the market analysts. This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle.
Stage 3: Designing the Product Architecture
SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS – Design Document Specification.
Stage 4: Building or Developing the Product
In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.
Stage 5: Testing the Product
This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.
Stage 6: Deployment in the Market and Maintenance
Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in a limited segment and tested in the real business environment.
Two development life cycle models:
In The Waterfall model, the whole process of software development is divided into separate phases. The outcome of one phase acts as the input for the next phase sequentially. This means that any phase in the development process begins only if the previous phase is complete. The waterfall model is a sequential design process in which progress is seen as flowing steadily downwards through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance.
The Prototyping Model is a systems development method in which a prototype (an early prediction of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements.
Advantages of the Prototype model:
• Users are actively involved in the development
• Errors can be detected much earlier
• Quicker user feedback is available leading to
• Missing functionality can be identified easily
Comparison between a waterfall model and a prototype model:
The waterfall model directly delivers the final product to the user and his feedback is only taken in. However, the prototype model creates several rough working applications and involves constant user interaction, until the developers come up with the final application, which satisfies the user.
While the waterfall model is linear, the prototype model is non-linear and evolutionary in nature. The prototype model is well suited for online applications where user interfaces are the most important component and clients are not clear about what they exactly need in the final product.
On the other hand, the waterfall model is better suited for a more conventional software projects, where user requirements are clear, right from the start. A prototype model ensures users involvement which makes last minute changes possible. The waterfall model makes it difficult to implement any changes suggested by the user.
The Waterfall model and the Prototype model both have lifecycles that are divided into phases where certain and specific objectives are to be met.
Also both of these models have an objective to reduce the development and the maintenance costs so that it saves costs for businesses which will make these two models more popular than other models they be similar as the waterfall and prototype model are cheaper.
The final similarity is that both of these models are suitable for short term program and short life span system.
To conclude it’s clear to see that the prototype model is best suited when the customer is not sure of what he wants and the waterfall model would be a safe idea if the customer was clear about what they wanted and what they wanted to use it for. But they still have some similarities which have good benefits for both of their models.