Wednesday, June 5, 2019

Systems Development Life Cycle

Systems emergence Life CycleIntroductionSDLC, The remainss ramp upment invigoration cycle (SDLC) is a conceptual model used in examine management that describes the stages involved in an discipline clay using foresee, from an initial feasibility study through maintenance of the completed application.Hence an array of strategy culture demeanor cycle (SDLC) models has been created Fountain, Spiral, fast prototyping, synchronize and stabilize and Incremental. Although in the academic sense, SDLC push aside be used to refer to various swear outes followed during the training of softwargon, SDLC is typically used to refer to the oldest of the traditional models a waterfall methodology.Softw are Engineering ProcessThe SDLC supports a list of important human bodys that are essential for developers, such as planning, analysis, design, and execution, and are explained more in exposit later in this report. Traditionally the waterfall model was regarded as the original whi ch adhered to a sequence of stages in which the sidetrack of each stage became the in induct for the next. No definitive models exist, but the steps can be describe and divided as followsProject planning, feasibility study, excogitationA feasibility study is a quick examination of the problems, goals and expected cost of the musical arrangement. Projects are usually measured in three areas of feasibility economical, usable, and technical. In addition, it is to a fault used as a transfer to keep the project on track and to evaluate the develop of project (Post Anderson, 2006). Thus the goal of the feasibility studies is to evaluate alternative systems solutions and to propose the most feasible and desirable concern application for development, (Obrien Marakas, 2006) states that the feasibility of a proposed business system can be evaluated in quadruplet major categoriesOrganizational Feasibility An model of how a business supports the strategic business priorities of the organization.Economic feasibility Identifies whether expected cost savings, increase revenue, increase wage and reductions in enquired investments will overhaul the cost of developing and operating a proposed system.Technical feasibility can be demonstrated if reliable hardware and package capable of meeting the asks of a proposed systems can be acquired or developed by the business in the required beat.Operational feasibility can be measured by the ability and willingness of management, employees, customers, suppliers and others to operate, use, and support a proposed system. for example if Tescos was to tack its bundle platform at the tills to something entirely distinguishable, employees whitethorn take off to even off to many errors and find slipway around using it or just all together quite, thus it will fail to show operational feasibility.Requirements gathering and Systems analysis(Hawrzyszkiewycz 2004) This step defines the proposed business solutions and any unexampled or changed businesses bet ones. The goal at this stage is to find any problems and attempt to fix the system or improve its wareivity and efficiency. The proficiency here is to break the system into smaller pieces as it is easier to be explained to others and can be split up amongst different development team. A draw support of this though is that it takes sequence and effort to reintegrate all of the pieces (Post Anderson, 2006).Systems designFunctions and operations are described in exposit during the design stage, including screen layouts, business rules, process diagrams and other corroboration. The output of this stage will be to describe the reinvigorated system as a appeal of modules or subsystems. (Hawrzyszkiewycx 2004) states that system designs is a devil step process,Broad design which indentifies the main architecture of the proposed system which may include the language use to develop the databases, network configurations, computer software requ irements and whether programs are to be developed using internal programmers or external contractors.Detailed design only after the design conformation is completed the detailed design phase can be initiated, during this phase the database and program modules are design and detailed user and system interaction procedures and protocols are documented.BuildSoftware developers may effectuate (or modify and then install) purchased software or they may write bran-new or custom design programs (Senn 1989). beneficial like the design phase, this phase is tough up into two separate sub phases, development and murder. During the implementation phase the components built during the development are put into operational use. Usually this means that the new and old systems run parallel until users are trained in system operations and existing processes converted to the new system. (Hawrzyszkiewycz 2004)TestingDuring the integration and examine stage, the software artefacts, online help, and test data are migrated from the development environment to a separate test environment. At this point, all test cases are run to verify the rightness and completeness of the software. Successful execution of the test suite confirms a robust and complete migration capability. In addition, reference data is finalized for performance use and production users are determine and linked to their steal roles. The final reference data (or links to reference data source files) and production user list are compiled into the Production inauguration Plan and the system is used experimentally to ensure that the software does not fail, also the codification is tested iteratively at each level (Senn 1989).Installation, slaying and DeploymentImplementation is a vital step in the deployment of information technology to support employees, customers, and other business stakeholders, the system implementation stage involves hardware and software acquisition, software development, testing of pro grams and procedures, conversion of data resources and additionally involves the educating and training of end users and specialist who will operate the new system. on the whole together this is the final stage where the project is finally used by the business (Obrien Marakas, 2006).MaintenanceOnce a system is fully implemented and is macrocosm used in business operation, the maintenance function begins this involves the life of the system which may include changes and enhancements before its decommissioning. (Obrien Marakas, 2006) states that the maintenance activity includes a post implementation review process to ensure that freshly implemented systems meet the business objectives establish for them. (Hawrzyszkiewycx (2004) supports the argument that maintenance is required to eliminate errors in the system during its workings life and to improve the system in the light of changes by monitoring, evaluating and modifying operational business systems to make desirable or nece ssary improvements.Evaluation and Reason for Adopting SDLC for a small Pc ApplicationThe bankers acceptance of the SDLC for the development of a small application on a pc will not be appropriate because the SDLC is just what is says it is the Life Cycle of the system software. The SDLC is a process use to manage time and resources on a project, from the identification of a need for the system Initiation) to rolling it out to the user (Implementation) to de-supporting or no spaciouser needing it (Disposition), Each phase of the SDLC requires documentation, reporting, and approval. This assures that a project cannot get out of hand either by changing the direction or adequate a financial black hole and the project sponsors are aware at every step of incisively what is going on as it is documented. so it is reasonable to assume that the development of a small application on a pc does not require the adoption of the SDLC model whereas a cosmic systems which fork up teams of arch itects, analysts, programmers, testers and users mustiness work together to create the millions of lines of custom-written code that drive enterprises today, will without a doubt need to adopt an SDLC solution to manage the resources of such a project.Evaluation Of the Traditional SDLC Strengths LimitationsThe Waterfall ModelThe waterfall model is the most classical sequential life cycle each phase must be completed in its entirety before the next phase can begin. (Post Anderson, 2006) states that one proceeds of the SDLC is the formalness aspect which makes it easier to train employees and to evaluate the progress of the development as well as ensuring that steps are not skip, such as user approval, documentation and testing. In addition with eighty portion of MIS resources spent of maintenance, adhering to standards whilst building the system makes it easier to modify and maintain in the future because of the documentation generated and the sustain consistency, however the f ormality of the SDLC approach can be moot as it increases the cost of development and lengthens the development time (Post Anderson, 2006)The formality of the SDLC method also causes problems with projects that are hard to defined, conflicting newer methods like supple which helps software development teams to respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints (Cohn, Mike 2006). busy Methods aim at allowing organizations to deliver quickly, change quickly and change often. While, agile techniques vary in practice and emphasis, they share common characteristics, including iterative development and a focus on inter-action and communication. Maintaining regularity allows development teams to adapt rapidly to changing requirements, and working in close proximity, focusing on communication, means teams can make decisions and act on them immediately, rather than wait on correspondence. It is also important to reduce non -value adding intermediate artefacts to allow more resources to be devoted to product development for early completion.The SDLC however works vanquish if the entire system can be accurately specified in the beginning. That is, users should know what the system should do abundant before the system is created. (Post Anderson, 2006) further explains that because of the rigidness of the SDLC, the development of more modern applications are difficult, hence the combination of existing SDLC models and the creation of other alternatives models and methodologies are adopt as outlined later in this paper.AdvantagesEasier to use.Easier to manage because of rigidityPhases are completed at specific phase intervalsRequirements are very well down the stairsstood.Disadvantages cathode-ray oscilloscope adjustment during the life cycle can kill a projectWorking software is not produced until the life cycle is complete.Not suited for long and ongoing projects.In appropriate where requirements ar e at a moderate to high bump of changingAlternative development mythologiesOne management advantage of the traditional SDLC method is the sequential serial publication of tasks on the other hand using the traditional SDLC has many drawbacks. For example, when adopting a traditional SDLC methodology, the rigid chain of phases may subsequently make it impossible for developers to improve ways to provide functional requirements as the project is being built, which results in the designers redoing their work. Instead programmers should be involved in the planning and design phases, so that they may be able to identify improvements much earlier in the process, thus enhancing the effectiveness of project activities, (FFIEC IT Handbook (2009).Development solutions such as iterative and fast prototyping address many of the shortcomings of a traditional SDLC. And a brief description of two the newer methodologies are outlined to a lower place along with some advantages and disadvantages for compare purposes.Agile Development ModelAgile software development is a conceptual framework for undertaking software engineering science projects. Agile methods attempt to minimize risk and maximize productivity by developing software in short iterations and de-emphasizing work on secondary or interim work artefacts.The key differences betwixt agile and traditional methodologies are as followsDevelopment is incremental rather than sequential.People and interactions are emphasized.Working software is the priority rather than detailed documentation. guest collaboration is used, rather than contract negotiation.Responding to change is emphasized, rather than extensive planning.Rapid Prototyping modelRapid prototyping is a process for creating a realistic model of a products user interface (Najjar, L. J. (1990) ,Using rapid prototyping, you model the look and feel of the user interface without investing the time and savvy required to write actual code (Najjar, L. J. (1990).Adva ntagesSaves time and moneyPromotes consistency in user interface designAllows early customer involvementReduces time required to create a product functional specificationDisadvantagesUsually does not produce reusable codeLacks an obvious stopping point finaleIt can be seen from the above comparison that differing philosophies can produce radically different views of a system. Nevertheless, both the Traditional SDLC and the alternatives produce valid working systems as well as their share in drawbacksThe one size fits all approach to applying SDLC methodologies is no longer appropriate. Each SDLC methodology is only effective under specific conditions. (Traditional SDLC methodologies are often regarded as the proper and disciplined approach to the analysis and design of software applications but the drawback is that it takes a considerable amount of time and all of the system details have to be specified upfront.Methodologies like Rapid Prototyping alternatively are a compromise of r igidity and no rigidity. These new hybrid methods were created to bridge the gap with the phylogeny of more modern application developments requirements. Newer the less methodologies like Agile are most appropriate when volatility and scruple exist in the development requirements, and the SDLC is legal when the requirements are already defined.BibliographyNajjar, L. J. (1990). Rapid prototyping (TR 52.0020). Atlanta, GA IBM Corporation.http//www.lawrence-najjar.com/papers/Rapid_prototyping.htmlFFIEC IT Handbook (2009). Alternative development methodologies http//www.ffiec.gov/ffiecinfobase/booklets/d_a/02.htmlSenn James A. (1989), Analysis project of Information Systems, Introduction to Information Systems, pg27 32 Ch1 McGraw-Hill Co- SingaporePost. G Anderson. D (2006), Management Information Systems, Organizing Business Solutions, pg 448 459 Ch 4 McGraw-Hill Co- New YorkIgor Hawryszkiewycz. (1998), Introduction to System Analysis Design, The Development Process, pg120 13 6 Ch 7 Prentice Hall- AustraliaObrien A. O Marakas .M. (1989), Management Information Systems, Introduction to Information Systems, pg27 32 Ch1 McGraw-Hill Co- SingaporeSystems development life cycleSystems development life cycle1. IntroductionSDLC, The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application.Hence an array of system development life cycle (SDLC) models has been created Fountain, Spiral, rapid prototyping, synchronize and stabilize and Incremental. Although in the academic sense, SDLC can be used to refer to various processes followed during the development of software, SDLC is typically used to refer to the oldest of the traditional models a waterfall methodology.2. Software Engineering ProcessThe SDLC supports a list of important phases that are essential for developers, such as planning, analysis, design, and implementation, and are explained more in detail later in this report. Traditionally the waterfall model was regarded as the original which adhered to a sequence of stages in which the output of each stage became the input for the next. No definitive models exist, but the steps can be describe and divided as follows Project planning, feasibility study, InitiationA feasibility study is a quick examination of the problems, goals and expected cost of the system. Projects are usually evaluated in three areas of feasibility economical, operational, and technical. In addition, it is also used as a guide to keep the project on track and to evaluate the progress of project (Post Anderson, 2006). Thus the goal of the feasibility studies is to evaluate alternative systems solutions and to propose the most feasible and desirable business application for development, (Obrien Marakas, 2006) states that the feasibility of a proposed business system can be evaluated in four major categoriesOrganizational Feasibility An illustration of how a business supports the strategic business priorities of the organization.Economic feasibility Identifies whether expected cost savings, increase revenue, increase profits and reductions in required investments will exceed the cost of developing and operating a proposed system.Technical feasibility can be demonstrated if reliable hardware and software capable of meeting the necessitate of a proposed systems can be acquired or developed by the business in the required time.Operational feasibility can be measured by the ability and willingness of management, employees, customers, suppliers and others to operate, use, and support a proposed system. for example if Tescos was to change its software platform at the tills to something entirely different, employees may begin to make to many errors and find ways around using it or just all together quite, thus it will fail to show operational feasibility. R equirements gathering and Systems Analysis(Hawrzyszkiewycz 2004) This step defines the proposed business solutions and any new or changed businesses processes. The goal at this stage is to find any problems and attempt to fix the system or improve its productivity and efficiency. The technique here is to break the system into smaller pieces as it is easier to be explained to others and can be split up amongst different development team. A draw back of this though is that it takes time and effort to reintegrate all of the pieces (Post Anderson, 2006). Systems designFunctions and operations are described in detail during the design stage, including screen layouts, business rules, process diagrams and other documentation. The output of this stage will be to describe the new system as a collection of modules or subsystems. (Hawrzyszkiewycx 2004) states that system designs is a two step process,Broad design which indentifies the main architecture of the proposed system which may include the language use to develop the databases, network configurations, software requirements and whether programs are to be developed using internal programmers or external contractors.Detailed design only after the design phase is completed the detailed design phase can be initiated, during this phase the database and program modules are design and detailed user and system interaction procedures and protocols are documented. BuildSoftware developers may install (or modify and then install) purchased software or they may write new or custom design programs (Senn 1989). Just like the design phase, this phase is broken up into two separate sub phases, development and implementation. During the implementation phase the components built during the development are put into operational use. Usually this means that the new and old systems run parallel until users are trained in system operations and existing processes converted to the new system. (Hawrzyszkiewycz 2004) TestingDuring the integ ration and test stage, the software artefacts, online help, and test data are migrated from the development environment to a separate test environment. At this point, all test cases are run to verify the correctness and completeness of the software. Successful execution of the test suite confirms a robust and complete migration capability. In addition, reference data is finalized for production use and production users are identified and linked to their appropriate roles. The final reference data (or links to reference data source files) and production user list are compiled into the Production Initiation Plan and the system is used experimentally to ensure that the software does not fail, also the code is tested iteratively at each level (Senn 1989). Installation, Implementation and Deployment Implementation is a vital step in the deployment of information technology to support employees, customers, and other business stakeholders, the system implementation stage involves hardware and software acquisition, software development, testing of programs and procedures, conversion of data resources and additionally involves the educating and training of end users and specialist who will operate the new system. All together this is the final stage where the project is finally used by the business (Obrien Marakas, 2006). MaintenanceOnce a system is fully implemented and is being used in business operation, the maintenance function begins this involves the life of the system which may include changes and enhancements before its decommissioning. (Obrien Marakas, 2006) states that the maintenance activity includes a post implementation review process to ensure that newly implemented systems meet the business objectives establish for them. (Hawrzyszkiewycx (2004) supports the argument that maintenance is required to eliminate errors in the system during its working life and to improve the system in the light of changes by monitoring, evaluating and modifying operational business systems to make desirable or necessary improvements.3. Evaluation and Reason for Adopting SDLC for a small Pc ApplicationThe adoption of the SDLC for the development of a small application on a pc will not be appropriate because the SDLC is just what is says it is the Life Cycle of the system software. The SDLC is a process use to manage time and resources on a project, from the identification of a need for the system Initiation) to rolling it out to the user (Implementation) to de-supporting or no longer needing it (Disposition), Each phase of the SDLC requires documentation, reporting, and approval. This assures that a project cannot get out of hand either by changing the direction or becoming a financial black hole and the project sponsors are aware at every step of exactly what is going on as it is documented. Therefore it is reasonable to assume that the development of a small application on a pc does not require the adoption of the SDLC model whereas a large systems which have teams of architects, analysts, programmers, testers and users must work together to create the millions of lines of custom-written code that drive enterprises today, will without a doubt need to adopt an SDLC solution to manage the resources of such a project.4. Evaluation Of the Traditional SDLC Strengths LimitationsThe Waterfall ModelThe waterfall model is the most classical sequential life cycle each phase must be completed in its entirety before the next phase can begin. (Post Anderson, 2006) states that one advantage of the SDLC is the formality aspect which makes it easier to train employees and to evaluate the progress of the development as well as ensuring that steps are not skip, such as user approval, documentation and testing. In addition with eighty percent of MIS resources spent of maintenance, adhering to standards whilst building the system makes it easier to modify and maintain in the future because of the documentation generated and the sustain consist ency, however the formality of the SDLC approach can be problematic as it increases the cost of development and lengthens the development time (Post Anderson, 2006)The formality of the SDLC method also causes problems with projects that are hard to defined, unlike newer methods like Agile which helps software development teams to respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints (Cohn, Mike 2006). Agile Methods aim at allowing organizations to deliver quickly, change quickly and change often. While, agile techniques vary in practice and emphasis, they share common characteristics, including iterative development and a focus on inter-action and communication. Maintaining regularity allows development teams to adapt rapidly to changing requirements, and working in close proximity, focusing on communication, means teams can make decisions and act on them immediately, rather than wait on correspondence. It is also import ant to reduce non-value adding intermediate artefacts to allow more resources to be devoted to product development for early completion.The SDLC however works best if the entire system can be accurately specified in the beginning. That is, users should know what the system should do long before the system is created. (Post Anderson, 2006) further explains that because of the rigidity of the SDLC, the development of more modern applications are difficult, hence the combination of existing SDLC models and the creation of other alternatives models and methodologies are adopted as outlined later in this paper.AdvantagesEasier to use.Easier to manage because of rigidityPhases are completed at specific phase intervalsRequirements are very well understood.Disadvantagesscope adjustment during the life cycle can kill a projectWorking software is not produced until the life cycle is complete.Not suited for long and ongoing projects.In appropriate where requirements are at a moderate to high risk of changingAlternative development mythologiesOne management advantage of the traditional SDLC method is the sequential series of tasks on the other hand using the traditional SDLC has many drawbacks. For example, when adopting a traditional SDLC methodology, the rigid chain of phases may subsequently make it impossible for developers to improved ways to provide functional requirements as the project is being built, which results in the designers redoing their work. Instead programmers should be involved in the planning and design phases, so that they may be able to identify improvements much earlier in the process, thus enhancing the effectiveness of project activities, (FFIEC IT Handbook (2009).Development solutions such as iterative and Rapid prototyping address many of the shortcomings of a traditional SDLC. And a brief description of two the newer methodologies are outlined below along with some advantages and disadvantages for comparison purposes.Agile Development ModelAg ile software development is a conceptual framework for undertaking software engineering projects. Agile methods attempt to minimize risk and maximize productivity by developing software in short iterations and de-emphasizing work on secondary or interim work artefacts.The key differences between agile and traditional methodologies are as followsDevelopment is incremental rather than sequential.People and interactions are emphasized.Working software is the priority rather than detailed documentation.Customer collaboration is used, rather than contract negotiation.Responding to change is emphasized, rather than extensive planning.Rapid Prototyping modelRapid prototyping is a process for creating a realistic model of a products user interface (Najjar, L. J. (1990) ,Using rapid prototyping, you model the look and feel of the user interface without investing the time and labour required to write actual code (Najjar, L. J. (1990).AdvantagesSaves time and moneyPromotes consistency in user interface designAllows early customer involvementReduces time required to create a product functional specificationDisadvantagesUsually does not produce reusable codeLacks an obvious stopping point5. ConclusionIt can be seen from the above comparison that differing philosophies can produce radically different views of a system. Nevertheless, both the Traditional SDLC and the alternatives produce valid working systems as well as their share in drawbacksThe one size fits all approach to applying SDLC methodologies is no longer appropriate. Each SDLC methodology is only effective under specific conditions. (Traditional SDLC methodologies are often regarded as the proper and disciplined approach to the analysis and design of software applications but the drawback is that it takes a considerable amount of time and all of the system details have to be specified upfront.Methodologies like Rapid Prototyping alternatively are a compromise of rigidity and no rigidity. These new hybrid methods were created to bridge the gap with the evolution of more modern application developments requirements. Newer the less methodologies like Agile are most appropriate when volatility and uncertainty exist in the development requirements, and the SDLC is good when the requirements are already defined.6. BibliographyNajjar, L. J. (1990). Rapid prototyping (TR 52.0020). Atlanta, GA IBM Corporation.http//www.lawrence-najjar.com/papers/Rapid_prototyping.htmlFFIEC IT Handbook (2009). Alternative development methodologies http//www.ffiec.gov/ffiecinfobase/booklets/d_a/02.htmlSenn James A. (1989), Analysis Design of Information Systems, Introduction to Information Systems, pg27 32 Ch1 McGraw-Hill Co- SingaporePost. G Anderson. D (2006), Management Information Systems, Organizing Business Solutions, pg 448 459 Ch 4 McGraw-Hill Co- New YorkIgor Hawryszkiewycz. (1998), Introduction to System Analysis Design, The Development Process, pg120 136 Ch 7 Prentice Hall- AustraliaObrien A. O Mara kas .M. (1989), Management Information Systems, Introduction to Information Systems, pg27 32 Ch1 McGraw-Hill Co- Singapore

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.