Produce a short report that explains the principles of systems analysis which should include
Produce a short report that explains the principles of systems analysis which should include:
• What is systems analysis?
• Development life cycle model overview
• Explain each stage of the SDLC
What is Systems Analysis?
Systems analysis is the process of observing systems for troubleshooting or development purposes. It is used applied into information technology, where computer-based systems require def ined analysis according to their makeup and design.
The systems that we are talking about are Tthese systems include systems within organisations and businesses systems of communication, financial systems, manufacturing systems, it is all to do withbasically the systems that make the organisations or businesses work. A person who analyses systems is known as a Systems Analyst. Often systems analysts are employed by organisations of businesses to help them improve their systems and so become more efficient which therefore can make the business more profitable.
Development life cycle model overview
Software Development Life Cycle is a process that produces software with the highest quality and lowest cost in the shortest time. SDLC includes an in deptha detailed plan for how to develop, changealter, maintain, and replace a software system. It involves several distinct stages, including identifying a problem, planning, designingign, building, testing, and deployment and maintaining it. Other SDLC models include the waterfall model, spiral model, agile model, iterative model, rapid application development (RAD) model and prototype model.
Explain each stage of SDLC
Following the best practices Theseand stages of SDLC ensures the process works in a smooth, efficient, and productive way.
1. Identify the current problems. This stage of SDLC means getting input from all stakeholders, including customers, salespeople, industry experts, and programmers. From this the business will lLearn their strengths and weaknesses of the current system which then will allow the business to make ith improvement. as the goal.
2. Plan. In this stage of SDLC, the team determinesfines the requirements of the new software and looks atdetermines the cost and resources required. It also details the risks involved and provides sub-plans for softening those risks. In this stage, a Software Requirement Specification document is created.
3. Design. This phase of SDLC starts by turning the software specifications into a design plan called the Design Specification. All stakeholders then review this plan and offer feedback and suggestions on how to improve the current system. It’s crucial to have a plan for collecting and incorporating stakeholder input into this document. If the project fails here then it is going to cost the business money and will also definitely mean the project will have collapsed.Failure at this stage will almost certainly result in cost overruns at best and total collapse of the project at worst.
4. Build. This SDLC stage develops the software by generating all the actual code. If the other steps have been completed well then this is the least. If the previous steps have been followed with attention to detail, this is actually the least complicated step.
5. Test. In this stage, they willwe test for defects and deficiencies within the system. They thenWe fix those issues until the product meets the original specifications.
6. Deploy. Often, this part of the SDLC process happens in a limited way at first. Depending on feedback from end users, more adjustments can be made.
7. Maintain. The plan almost never turns out perfect when it meets reality. Further, as conditions in the real world change, we need to update and advance the software to match.
Two different Development Life Cycle Models
Waterfall- version 1
• The waterfall model is a linear design that follows in a sequence. It is an approach for certain areas of engineering design. In software development, it is tends to be among the less iterative and flexible approaches, as progress flows in largely one direction through the phases of identifying the current problem, plan, analysis, design, building, testing, deployment and maintenance. It is used for smaller projects where there are no uncertain requirements. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or enddiscard the project. During the waterfall model none of the phases overlap.
Advantages of Using the Waterfall Model
• Easy to use and understand
• Easy to manage due to the review process after every stage.
• In this modelP phases are processed and completed one at a time which therefore means they. Phases do not overlap.
• Works really well for smaller projects.
Disadvantages of using the Waterfall model
• Once an application is in the testing stage, it is very difficult to go back and change something that was not well thought out in the concept stage.
• Working software is not produced until later in the life cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object oriented projects.
• Not good for long and ongoing projects.
• Not very useful suitable for the projects where requirements are at a moderate to high risk of changing.
The Waterfall model is only used for smaller simpler projects as they are simple and easy to use and understand and because it is easy to manage it as you go along. However for longer projects the waterfall model is not very good as you cannot see working software until later in the life cycle which would be really hard to use as you would not be able to see whether it is working how you would like it. Also there are much better models out there such as the agile model.
Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. Agile Methods break the product into small incremental builds. These builds are provided in iterations. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. These builds are provided in iterations.
Advantages of Agile model:
•Customer satisfaction by rapid, continuous delivery of useful software.
•People and interactions are emphasized rather than process and tools. Customers, developers and testers constantly interact with each other.
•Working software is delivered frequently.
•Face-to-face conversation is the best form of communication.
•Close, daily cooperation between business people and developers.
•Continuous attention to technical excellence and good design.
•Regular adaptation to changing circumstances.
•Even late changes in requirements are welcomed
Disadvantages of Agile Model
• Difficult to assess the effort required at the beginning of the software development life cycle.
• There is a lot of work needed for designing and documentation.
• The project can easily get taken off track if the customer does not get the final outcome which they wanted.
• Only senior programmers are capable of taking the kind of decisions required during the development process. This is the reason why it is no place for new programmers, unless combined with experienced resources and experienced people.
Comparisons and Similarities
The main difference between the waterfall and agile model is that the waterfall model is used for simple projects whereas the agile model gradually is used for more complex projects as it starts with using simplistic ones then moves on. Also the agile model can be cheaper and faster, but only if it is suited to the organisation and project in question otherwise they are similar in price and in speed.
Unlike the waterfall model, in the agile model very limited planning is required to get started with the project. Agile assumes that the end consumers’ needs are ever changing in a business and IT world. Changes can be discussed and features can be effected or removed based on feedback. This effectively gives the customer the finished system they want or need.
• Both the Agile and waterfall models have their strengths and weaknesses to them. The key to deciding which is right for you comes down to the type of the project. If the project is always changing, then the best model to use would be Agile. If you know exactly what you are doing and what the extent of the project is then waterfall is the better option.