Dissertation: Software Processing Methodology Understanding

Pages: 20 (7750 words)  ·  Style: MLA  ·  Bibliography Sources: 20  ·  Level: Doctorate  ·  Topic: Education - Computers  ·  Buy This Paper

SAMPLE EXCERPT:

[. . .] Royce (1970) formulated the software life cycle by means of the now popular "waterfall" technique/chart. This is displayed in the figure below;

The "waterfall" chart effectively summarizes in one display how the development of large software is extremely difficult since it entails the execution of complex engineering activities/tasks that may need rework as well as iteration before the project is completed. These kind of charts are usually employed in the process of performing introductory presentations for customers of customized software. The audience usually comprises of individuals who are mainly unfamiliar with the rather technical problems as well as strategies that ought to be addresses whenever one is constructing a relatively large software system (Royce,1970).

Figure 1;The waterfall model (Royce,1970)

The classic software life cycle models mainly comprises of some elements of the following activities;

System planning

Requirement analysis

Functional specifications

Partition as well as selection

Software integration and testing

Documentation, model revision s well as system delivery

Deployment

Training as well as use

Maintenance

Software life cycle model

A software life cycle model is described as a descriptive or a rather prescriptive system characterization of how given software should be developed. A descriptive model effectively describes the history of development of particular software. Curtis, Krasner, Iscoe, (1988) points out those descriptive models can be employed as the basis for properly understanding as well as improvement of the existing software development processes. The descriptive models may also be used for the construction of empirically-based prescriptive models. The prescriptive models effectively prescribes how new software systems are to be developed. They are used as the frameworks as well as guidelines for organizing and structuring the various software development activities that are to be carried out as well as the order in which they are to be carried out. Ideally, it is much easier and common to clearly articulate the chosen prescriptive life cycle model that is to be deployed. This is very possible due to the fact that most of these models are intuitive as well reasoned. The implications of this are that several details that are idiosyncratic in the description of the software systems' building can easily be ignored, deferred or generalized. Descriptive models may also be uses in the packaging of the development tasks as well as techniques used in the development of a certain category of software engineering tools.

Waterfall Methodology

The waterfall methodology is rather a sequential software development model for the entire solution (SBS,2011). It requires significant upfront activity and clear requirements. Most software development shops belittle the waterfall methodology as cumbersome and slow providing a sequence of steps that are orderly and as well as developmental steps that ensure that design, reviews and documentation enabled the quality, reliability, and maintainability of the resultant software (Chapman, 1997). Key factors for the waterfall methodology are Products and Processes (MIT,2002).

All projects are better managed if they are broken down into a hierarchy of phases with some overlap allowed between the phases. Other chunks in which a project can be divided include stages, tasks activities and steps. Simplistic rendition in a system development project is usually called waterfall methodology with a focus on time schedules, planning, budgeting as well as implementation of the whole system at a time. Also, in this methodology, extensive documentation and use of extensively written documentation is used to maintain a tight control over the project in its entire lifespan. The waterfall methodology has seven (7) products; communicated requirements, requirements specification document, design specification document, executable software models, integrated software product, delivered software product, and changed requirements (QTP Blog, 2009). This also includes approvals or sign-offs at the beginning of a new project phase. A waterfall methodology is as shown in figure 1 below.

Fig1.The waterfall methodology

Hamlet and Maybee (2001, p15)

It is important to note that figure 1 depicts a few crucial principles of a good methodology which provides for; working in stages, conducting content reviews between the stages, reviewing decision points and establishing quality gates for the purposes of continuation. In terms of modeling, we look at the input and output parameters for each of the phases and assign a numerical value as it relates to the final data points.

Strengths

The waterfall methodology is suitable for applications with inexperienced project teams and management or in a situation where the composition of the project team fluctuates. In this scenario, it supports the continuity of the software development fully well. When strict controls are merged with orderly sequence and design reviews, the maintainability, quality and reliability of the developed software is assured. In addition to the conservation of resources, the waterfall methodology also ensures that every progress of the system development becomes measurable by the team or the managers. The waterfall requires that the problem be well understood and requirements are well defined.

Weaknesses

Due to the set tight controls and significant structures, the waterfall methodology is not only rigid, cumbersome and costly, but also a slow method of system development (Hamlet and Maybee 2001). Also as the system development progresses, there are usually few steps backwards with this methodology. Since the users may not be able to clearly state what they actually need in the initial stages of the project, this methodology may not be suitable due to its dependence on early specification and identification of the requirements that should be included during the system development.

This methodology is often characterized by missing components, unexpected development needs as well as inconsistencies that are only discovered during system design and coding and in addition, most problems often go undetected until they reach a stage of system testing which may be a little late. While under this methodology, the performance of a system of software development cannot be tested until completion, underperformance may be difficult to correct and if changes are to be effected, they occur very late in a life cycle that are more costly. It has also been noted that this methodology involves numerous documentation steps which makes it difficult to update as process of development continues. Lastly, the waterfall methodology widens the gap between the developers and the users with a clear division of responsibilities.

Opportunity

One of the widespread uses of this methodology is its application in the development of a transaction-oriented batch or a mainframe-based system (CMS,2008). This methodology also finds application where a large, complicated and expensive program is to be developed and needs clear solutions and objectives. The methodology is only fit in situations where these is no pressure being mounted for immediate implementation of the developed software. In addition, this methodology also allows the project requirements to be put in a comprehensive and unambiguous manner in situations where the project requirements are stable and do not change throughout the time of development. Its applicability can also be valued when the community that uses it is fully knowledgeable in the application and business of the developed program. This is methodology fit for application in cases where the team members are inexperienced in the development or has not undergone a software development process. Consequently, when the system development team is expected to fluctuate or unstable due to the mobility of labor, this methodology may be appropriate in comparison to other methodologies.

Threats

This methodology is not fit for application in situations where there is a large project where the requirements are not understood or are changing for any reasons such as change in expectations, external changes, budget changes, or rapid a technological advancement since it is a less flexible process that does not allow dynamism (CMS,2008). The other weakness of the waterfall methodology is that it struggles when applied in implementing a Web Information System due to the usual pressure normally associated with any WIS project that need quick implementation, need for flexible and experienced team from various disciplines as well as the constant evolution of the requirements pertaining to the project. This methodology can also not be applicable in systems that are real time, even-oriented or driven or applications that require leading-edge technology. The challenge is also in partial implementing the rigor required for waterfall and thus falling out of process immediately. This methodology does not allow cleanly or quickly for such a situation.

Iterative Methodology

The iterative methodology is a sequential software development model with iterations prior to the end solution. It is similar to writing a Praxis, draft, refined draft, final paper - each step of the way a product is produced and then refined.

Wiley (2010) describes the iterative software development approach/model is a combination of eXtreme Programming (XP) and Rational Unified Process (RUP). The objective is to achieve the "right level" of process aligned required delivery to meet business needs. The right level of process formality in this approach is achieved through the understanding of the challenges that are faced by the business environments of operation and the kind of development team. Once these challenges are addressed, the exact process that is needed is applied in order to mitigate the risks involved.… [END OF PREVIEW]

Four Different Ordering Options:

?
Which Option Should I Choose?

1.  Buy the full, 20-page paper:  $26.88

or

2.  Buy & remove for 30 days:  $38.47

or

3.  Access all 175,000+ papers:  $41.97/mo

(Already a member?  Click to download the paper!)

or

4.  Let us write a NEW paper for you!

Ask Us to Write a New Paper
Most popular!

Methodology EMV Standard Implementation in Iranian Banks Risks and Challenges Methodology Chapter


Techniques and Technologies Multiple Chapters


Appropriating Technology in Ways That Make a Difference for Student Understanding Thesis


Legal Issues With the Use of Open Source Software in Government and EU Public Service Term Paper


Progress in Software Engineering Software Testing Term Paper


View 172 other related papers  >>

Cite This Dissertation:

APA Format

Software Processing Methodology Understanding.  (2011, July 27).  Retrieved March 23, 2019, from https://www.essaytown.com/subjects/paper/software-processing-methodology-understanding/1792135

MLA Format

"Software Processing Methodology Understanding."  27 July 2011.  Web.  23 March 2019. <https://www.essaytown.com/subjects/paper/software-processing-methodology-understanding/1792135>.

Chicago Format

"Software Processing Methodology Understanding."  Essaytown.com.  July 27, 2011.  Accessed March 23, 2019.
https://www.essaytown.com/subjects/paper/software-processing-methodology-understanding/1792135.