System Analysis (SDLC)

Introduction:

A system is a collection of components that are organized to do perform a certain task. There are many different type of systems one of them being the computer. A computer is a system that consists of hardware and software components or programs that work together to perform a specified task. All systems have; inputs, outputs and data storage and processing mechanisms.

Systems are mostly used to process information in a field known as information system. This is the study of complementary networks of hardware and software that is used to collect, process, store, and distribute information.

They process data to yield useful information that can be used to run day to day activities as well as long term activities example. School admission system, company finance records and as simple systems as just name logs.

This data can be processed and interpreted by a subject of study known as systems analysis and design. System analysis is the process of collecting and interpreting facts, identifying the problems of an organization or a business to know its goals, objectives, and purposes and therefore assigning a system to it that can run the organization.

System design is the process of planning and recruiting a suitable system for an organization or business and by knowing all the requirements and useful information of the firm.

Get quality help now
Sweet V
Sweet V
checked Verified writer

Proficient in: Software

star star star star 4.9 (984)

“ Ok, let me say I’m extremely satisfy with the result while it was a last minute thing. I really enjoy the effort put in. ”

avatar avatar avatar
+84 relevant experts are online
Hire writer

This can also involve replacing the old system by modifying it.it is done using various developmental tools which would be explained later.

A system analysis has six components:

  • Processing: involves interpretation and analysis of data obtained from inputs so that it can send a feedback to the output
  • Feedback: is the result of processing of data from input
  • Output: this submits the required results obtained from a feedback
  • Input: are the unprocessed facts or data that act as raw information for processing
  • Boundary: are the limits of operation that are set to a software system

The following are principles of SDLC:

  • The process of developing software consists of a number of phases.
    Get to Know The Price Estimate For Your Paper
    Topic
    Number of pages
    Email Invalid email

    By clicking “Check Writers’ Offers”, you agree to our terms of service and privacy policy. We’ll occasionally send you promo and account related email

    "You must agree to out terms of services and privacy policy"
    Write my paper

    You won’t be charged yet!

    These phases are followed systematically and each phase results into the next phase.

  • These phases are arranged in a precedence sequence of when they start. The phases are arranged in an order that leads to the final result
  • The sequence of phases represents the passage through time of the software development.
  • Phases can and do overlap as previous phases are revisited, when more information becomes available. Its not a must for the phases to be followed upon individually, sometimes they overlap
  • The software becomes more complex and useful as the phases are followed.

Software Development Lifecycle (SDLC)

SDLC is the framework that describe each phase passed through during the creation, development and testing of software. It gives the structure and guidelines of a project from the beginning all the way to the completion of that project. It can be used during creation of systems such a sales journal and tracking systems. However SDLC can be in form of many different models. Explained below are some of the models.

Waterfall Model

Waterfall model is a software model that can be adapted to produce the software. The main thing is that if software team adapt the waterfall model for the production of software than a proper detailed planning and proper accurate work is needed in every phase of the waterfall model. This is because while following the waterfall model, software team is not allowed to move to the previous phase.

Sequential Phases in the Waterfall Model:

Requirements: involves understanding what needs to be designed and what is its purpose. Here, the specifications of the input and output or the final product are studied and marked. The developers then know the resources and information that is needed for the system to achieve its goal. Example of the requirement is the amount of labor needed for the project to be accomplished in the shortest time

System Design: The requirement specifications from the first phase are studied and system design is prepared.it helps in specifying the requirements. In the design phase, a blueprint of the software or system is produced. Different diagrams using different developmental tools are also drawn. Some of these diagrams include; class diagram, activity diagram, data flow diagram, state transition diagram etc.

Implementation: With inputs from system design, the system is first developed in small programs called units, which are integrated into the next phase. Programs are written and all the designed is converted into computer programs, collectively called software.

Integration and Testing: units are integrated and then the software is tested for any flaws or errors. This also verifies that the system is built as per client requirements. It is also tested for bugs.

Deployment of System: the software system is now applied and used or released into the market. The system is installed to the working environment ready to be used

Maintenance: This step occurs after installation, and involves making modifications to the system or an individual component to alter attributes or improve performance. This is a continuous process that ensures the high performance of the system. Example is to install up to date antiviruses or firewallsWaterfall is the oldest and most straightforward of the structured SDLC methodologies. It is very simple to understand and use. This model is a step by step SDLC. In a Waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in the phases. The steps in the model are seen as flowing down like its name, "waterfall".

Source of the Waterfall Model:

Allows departmentalization and control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process model phases one by one.

Easily understandable and usable: the water fall model involve systematic and specific stages which are to be followed thus it prevents confusion and complication.

It is easy to manage due to the rigidity of the model - each phase has specific deliverables and a review process.

In this model, phases are processed and completed one at a time do not overlap.it works well for smaller projects where requirements are very well understood.

Disadvantages of Waterfall Model:

  • It is difficult to estimate time and cost for each phase of the development process.
  • Not a good model for complex and object-oriented projects.
  • 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.
  • Not suitable for the projects where requirements are at a moderate to high risk of changing.

When to use the waterfall method:

  • This model is used only when the requirements are very well known, clear and fixed.
  • Product definition is stable.
  • Technology is understood.
  • There are no ambiguous requirements
  • Ample resources with required expertise are available freely
  • The project is short.

Iterative Model

It is also known as incremental model which means to repeat. The Iterative SDLC model does not need the full list of requirements before the project starts. The process is repetitive, allowing to make new versions and changes of the product for every repeat. This process starts with a simple implementation of a constituent of the software requirements and repeatedly enhances. The product is decomposed into a number of components, each of which is designed and built separately. Multiple development cycles take place here, making the life cycle a "multi-waterfall" cycle. the evolving versions until the full system is implemented.

Source:

  • Incremental Model allows utilization of the product and avoids a longer development time.
  • Generates software quickly and early during the software life cycle.
  • It is more flexible and less costly to change scope and requirements.
  • It is easier to test and debug as smaller changes are made during each iteration.
  • In this model customer can respond to each built.

Disadvantages:

  • As additional functional is added to the product at every stage, problems may arise related to system architecture which was not evident in earlier stages.
  • It needs good planning and design at every step.
  • Needs a clear and complete definition of the whole system before it can be broken down and built incrementally.
  • Total cost is higher than waterfall.

Spiral Model

Spiral Model is a combination of Iterative Development Model and Waterfall Model with very high emphasis on risk analysis. It allows for incremental releases of the product, or incremental refinement through each iteration around the spiral.

This model is best used for large projects which involves continuous enhancements. The output is a small prototype of the large software. The same activities are then repeated for all the spirals till the entire software is build. Below is an illustration of a spiral model.

Source:

  • Cost estimation becomes easy as prototype building is done in small segments.
  • Development can be divided into smaller parts and more risky parts can be developed earlier which helps better risk management.
  • Development is fast and features are added in a systematic way.
  • There is always a room for customer feedback and the changes are implemented faster.

Disadvantages:

  • It works best for large projects only and could be expensive for small projects.
  • Risk analysis is important phase so requires expert people for risk assessment.
  • Documentation is more as it has large number of intermediate phases for its smooth operation spiral model protocol needs to be followed strictly.

When Spiral Model should be followed:

  • For medium and big projects.
  • For high risk projects.
  • Users are unsure of their needs
  • Requirements are complex
  • If requirements are more complicated.
  • If frequent changes required in the project.

V-Shaped Model

The V-Model is SDLC model where execution of processes happens in a sequential manner in V-shape. It is also known as Verification and Validation Model. V-Model is an extension of the Waterfall Model and is based on association of a testing phase for each corresponding development stage. This means that for every single phase in the development cycle there is a directly associated testing phase. This is a highly disciplined model and next phase starts only after completion of the previous phase.Illustrated below is a v-shaped model.

Advantages of V-model:

  • Simple and easy to use.
  • Testing activities like planning, test designing happens well before coding. This saves a lot of time. Hence higher chance of success over the waterfall model.
  • Proactive defect tracking - that is defects are found at early stage.
  • Avoids the downward flow of the defects.
  • Works well for small projects where requirements are easily understood.

Disadvantages of V-model:

  • Very rigid and least flexible.
  • Software is developed during the implementation phase, so no early prototypes of the software are produced.
  • If any changes happen in midway, then the test documents along with requirement documents has to be updated.

When to use the V-model:

  • The V-shaped model should be used for small to medium sized projects where requirements are clearly defined and fixed.
  • The V-Shaped model should be chosen when ample technical resources are available with needed technical expertise.

Agile Model

Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications.

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 (weeks rather than months).
  • Face-to-face conversation is the best form of communication.

Disadvantages of Agile model:

  • It is difficult to assess the effort and resources that are required at the beginning of the software development life cycle.
  • There is lack of emphasis on necessary designing and documentation.
  • The project can easily get taken off track if the customer representative is not clear what final outcome that they want.
  • Only senior programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.

When to use agile model:

  • When new changes are needed to be implemented. Agile mode provides freedom to the change. They can be made by very little cost.
  • When a small amount of time is required for the new software to be developed
  • In agile model very limited planning is required to get started with the project. Agile consider the change encountered by firms due to advance in technology. Changes can be discussed. This provides the customers with an effective system.

The benefits of structured analysis in relation to systems analysis and design

Reduced risk of projects running over budget and time.

A good Structured System Analyses and Design Method (SSADM) would reduce the risk of projects running over budget and time because if a plan is done correctly in the feasibility stage all the involved parties should work out if the solution will be feasibly created within the time frame given and within the budget.

Good Quality Software that meets requirements.

SSADM will make sure that the code that is made is of a satisfactory standard and that it meets all of the requirements because before any of the program has been designed, all of the clients requirements are laid out to the developers required to make the program before they start any planning this is done in this order to combat this exact problem so when the client gives the developer their requirements they can go away and present the client with potential solutions.

Manageable Projects.

SSADM helps design a project that will be manageable during the feasibility stage because during that stage the developer will know when the program needs to be completed by and will then know how many people to assign to the project to make sure it is manageable because they will not be understaffed for the project. An example of a project not being manageable again was the Black Dam roundabout because the project overran they had to get staff to run through the night.

Production of high quality solution.

Structured analysis also benefits structured analysis in the way that it helps produce a solution that is both of high quality and meets the requirements set out by the client. This ensures that the client is satisfied with the solution that has been produced and it can be used effectively within the business without produced incorrect data or otherwise misbehaving.

Resilient Systems.

A good SSADM should remove the risk of the system not being resilient because it will go through testing in two stages and that will make sure that everything within the systems is going to be able to be implemented into the existing system

Updated: May 21, 2021
Cite this page

System Analysis (SDLC). (2019, Dec 08). Retrieved from https://studymoose.com/system-analysis-sdlc-essay

System Analysis (SDLC) essay
Live chat  with support 24/7

👋 Hi! I’m your smart assistant Amy!

Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.

get help with your assignment