The Soft System Methodologies Information Technology Essay

Published: November 30, 2015 Words: 1064

A prototyping methodology is a software development process which allows developers to create portions of the solution to demonstrate functionality and make needed refinements before developing the final solution.

Advantages

Reduced time and costs: Prototyping can improve the quality of requirements and specifications provided to developers. Because changes cost more to implement as they are detected later in development.

Improved and increased user involvement: Prototyping requires user involvement and allows them to see and interact with a prototype allowing them to provide better and more complete feedback and specifications.

Avoid Misunderstandings: The presence of the prototype being examined by the user prevents many misunderstandings and miscommunications that occur when each side believes the other understands what they said.

Disadvantages

Insufficient analysis: The focus on a limited prototype can distract developers from properly analyzing the complete project.

User confusion of prototype and finished system: Users can begin to think that a prototype, intended to be thrown away, is actually a final system that merely needs to be finished or polished.

Developer misunderstanding of user objectives: Developers may assume that users shared their objectives totally but limited knowledge can cause incorrect development.

Object Oriented Methodology

Definition

Object orientated systems development requires the developer to think in terms of objects and object classes. This means that every attribute of a system is modeled just like it is in reality. Classes refer to a general category while objects refer to the instances of that category.

Advantages

Encourage re-use, not only modules but also of entire design.

Object based model appeal to working of human and hence the human input into the development of software system is likely to be more natural.

Object-oriented systems tend to be based upon stable forms (i.e. the objects and classes) which are more resilient to change.

Allows full exploitation of the power of object-based and object-oriented programming languages.

Availability of object-oriented database management systems.

Disadvantages

Unavailability of object-oriented CASE tools

Confusion with too many different object-oriented development methods.

Decreased system / software performance.

Spiral Model Methodology

Definition

The spiral model is a software development process combining which elements of both design and prototyping. It is a systems development method (SDM) used in information technology. The spiral model is intended for large, expensive and complicated projects.

Advantages

Estimates (i.e. budget, schedule, etc.) become more realistic as work progresses, because important issues are discovered earlier.

It is more able to cope with the (nearly inevitable) changes that software development generally entails.

Software engineers (who can get restless with protracted design processes) can get their hands in and start working on a project earlier.

Disadvantages

Highly customized limiting re-usability.

Applied differently for each application.

Risk of not meeting budget or schedule.

Waterfall Methodology

Definition

The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Coding, Testing and Maintenance.

Advantages

The amount of resources required to implement this model is very minimal.

Documentation is produced at every stage of the waterfall model development. This makes the understanding of the product designing procedure simpler.

After every major stage of software coding, testing is done to check the correct running of the code.

Waterfall model is so simple to deploy and maintain.

Disadvantages

You cannot go back, if the design phase has gone wrong, things can get very complicated in the implementation phase.

Many a times, it happens that the client is not very clear of what he exactly wants from the software. Any changes that he mentions in between may cause a lot of confusion.

Small changes or errors that arise in the completed software may cause a lot of problem.

The greatest disadvantage of the waterfall model is that until the final stage of the development cycle is complete, a working model of the software does not lie in the hands of the client. Thus, he is hardly in a position to mention if what has been designed is exactly what he had asked for.

Rapid Application Development

Definition

Rapid Application Development (RAD) refers to a type of software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements.

Advantages

Less Time

Reusability

Disadvantages

For large, scalable projects, RAD requires sufficient human resources to create the right number of RAD teams.

RAD requires developers and customers who are committed to the rapid-fire activities necessary to complete a system in this time frame, or failure will result.

If high performance is an issue, and performance is to be achieved through tuning the interfaces to system components, the RAD approach may not work.

RAD may not be appropriate when technical risks are high.

Why I choose “Object Oriented” system development for Aluxtel Project?

Reasons:

Object orientated systems development requires the developer to think in terms of objects and object classes that means easy to understand by the customer in real time like what the classes of system actually going to be like and also easy to clear functionality of the system to the customer.

Easy to modify the modules of the project, also the entire designs like adding set box functionality to the design at any stage which is required by the customer Aluxtel.

Adding functionality of payment mode would be through only Debit and Credit card would be easy in Object Oriented approach to add because it’s easy to modify classes at any stage in Object Oriented according to user requirements and it also reduces time to add requirements at any stage of development.

Object Oriented approach also avoid wastage of time in terms of adding any feature at any design stage made it so easy to use and manipulate and it will also be easy to Sales Staff to manage because of real time classes objects so easy to understand.

Object Oriented provides ease to managing database as well so there won’t be any problem to transferring data from old system to new system in Aluxtel Project.

In an OOUI, the user interacts explicitly with objects that represent entities in the domain that the application is concerned with. So it will be ease of using and understanding by the staff of Aluxtel communication.