Software Development Methodologies Effective Software Book Report

Download this Book Report in word format (.doc)

Note: Sample below may appear distorted but all corresponding word document files contain proper formatting

Excerpt from Book Report:

If the sequence characteristic of the waterfall model implied a difficulty in reverting to phases that had been deemed as completed, with the UML structure, new phases can simply be added into the model and treated in connection to the phases that are actually impacted and to which these new phases relate to.

One of the disadvantages of UML is that the entire modeling process is, in fact, just an auxiliary activity of the actual development phase that will eventually create the finite product. In that sense, the development company needs to be a fairly large organization, able to manage the diagrams involved in the modeling process and ensure this activity despite the fact that it only makes a marginal contribution to the final development process.

Another disadvantage is the fact that the semantics used in UML and, from a larger perspective, the necessary language used to connect the different elements in the diagrams, is often limited and either does not reflect all the conditions or it does not convey the actual sense or status that needs to be included in the model. With this fact, confusions may actually arise in the development phase as to what the original sense and connection was meant to be.

Finally, some argue that the XML is too costly, with more resources being needed for training purposes, as well as for the implementation of the system in the company that decides to use such an approach. Other resources have been previously mentioned and include the fact that separate human resources may be needed to manage the diagrams.

SECTION4: Prototyping

With prototyping, the developer provides intermediary products to the user, referred to as prototypes. These intermediary products have some of the characteristics and functionality of the final product, but have not been entirely completed. There are two main advantages that one can identify with prototyping. The first one is the fact that prototyping improves the relationship and communication between the developer and the client and can better involve the client in the different phase of the software development process. This is essential in the second advantage that prototyping provides, ensuring that any changes in the product requirements are introduced at a stage where the implied costs are not too high.

The main disadvantage for a prototyping approach is the fact that the developing team may associate the prototype too much with the finite product and not address sufficiently the errors that it has. One needs to understand that the prototype that is presented to the client in the development process is, in fact, only an intermediary phase before the completion of the project. Most likely, it needs not only an additional round of testing and the polishing error-fixing code, but rather a complete continuation of the development process, based on the prototype, the initial requirements of the client and the additional ones that may have been introduced after the prototype was presented.

SECTION 5: Conclusion

The three different software development methodologies that have been presented here are constructed taking into consideration the approach towards the final use and his implication in the development process, as well as the way the different phases are implemented in the overall process. Some of the approaches, such as the UML, are more flexible, while others, like the waterfall model, provide a more rigorous approach sustained by the sequential development of the phases. The prototype model is likely to capitalize on the direct implication of the user in the development process and his input at key moments of this process.


1. Royce, Winston (1970). "Managing the Development of Large Software Systems." Proceedings of IEEE WESCON 26 (August): 1 -- 9. On the Internet at Last retrieved on August 16, 2010

2. Parnas, David. A Rational Design Process: How and Why to Fake it.

3. Chonoles, Michael Jesse; James A. Schardt (2003). UML 2 for Dummies. Wiley Publishing

4. Smith, MF. (1991). Software Prototyping: Adoption, Practice and Management. McGraw-Hill, London

Royce, Winston (1970). "Managing the Development of Large Software Systems." Proceedings of IEEE WESCON 26 (August): 1 -- 9. On the Internet at Last retrieved on August 16, 2010

Parnas, David. A Rational Design Process: How and Why to…[continue]

Some Sources Used in Document:


Cite This Book Report:

"Software Development Methodologies Effective Software" (2010, August 18) Retrieved November 29, 2016, from

"Software Development Methodologies Effective Software" 18 August 2010. Web.29 November. 2016. <>

"Software Development Methodologies Effective Software", 18 August 2010, Accessed.29 November. 2016,

Other Documents Pertaining To This Topic

  • Software Development Life Cycle SDLC

    Software Development Life Cycle ( SDLC) Explain Requirement process ( in SDLC) in detail. Why is this exercise important? Requirements engineering is a fundamental activity in systems development and it is the process by which the requirements for software systems are identified, systematized and implemented and are followed through the complete lifecycle. Traditionally engineers focused on narrow functional requirements. Now it is being argued by Aurum and Wohlin (2005) that focusing only

  • Programming XP software development methodology

    These five factors taken together are also what drive the overall development of each successive generation of development as well, as the feedback loops, communication, collaboration and trust are all defined via workflows and available. The real value of the XP software development methodology however is in being able to continually bring new projects onboard between customers and teams who have worked together in the past, picking right up

  • Software Development Life Cycle

    Software Development Life Cycle Agile Software Development Agile software development is a popular software development process or methodology that has gained a lot of popularity in the recent years due to its effectiveness and ease of use. Firstly, it encourages collaboration and teamwork throughout the life cycle of development and this makes it easy to plan and implement. Agile software development is all about breaking a task into small chunks that make it

  • Software Processing Methodology Understanding the Problem Klyne

    Software Processing Methodology Understanding the Problem Klyne Smith, DSE Candidate Dr. Frank Coyle Technical Motivation Research and Contribution Methods Software Processing Methodologies Waterfall Methodology Strengths Weaknesses Opportunity Threats Iterative Methodology Strengths Weaknesses Opportunities Threats Model Methodology Strengths Weaknesses Opportunities Threats Where do we go from here (Spring 2010)? Define measurement data points for Test Case analysis Section IV Creation and Validation of the predictive model Section V Summary Analysis Practical Usage Praxis Conclusion Books Articles / Web Information Software Processing Methodology: Understanding the Problem Section I: Introduction In this work, I examine three different Software Processing Methodologies. I start with the iterative model, followed by the spiral

  • Software Development Lifecycles Balancing Increasingly Complex Requirements...

    Software Development Lifecycles Balancing increasingly complex requirements for new software applications with the constraints of costs, time and resources has made the use of software development lifecycles invaluable. The reliance on software development methodologies is increasing as shortages of programming expertise are leading to many companies relying on virtual project development teams (Batra, Xia, VanderMeer, Dutta, 2010). Virtual teams and the new reality of software development being global in scope

  • Software Development

    Information Technology In the past several years, the use of the object-oriented methodology has grown considerably for the software development. In the software engineering domain, an object-oriented software methodology emphasizes the design and construction of large software projects by making use of reusable software components, which are referred to as classes. Usually to simplify the development process, the object-oriented methodology makes the use of graphics and graphical techniques in computer programming.

  • Software Testing Strategy

    Software Testing Strategy Computers and their applications have brought about waves of changes in various areas of science and technology. It is also gaining widespread prominence in the field of business and management. So the requirement of a quality oriented technological implementation, having a range of usage is the order of the day. The few gazillion dollars worth software industry is constantly evolving with the needs of people and organizations across

Read Full Book Report
Copyright 2016 . All Rights Reserved