Tuesday, July 3, 2012

Software development models

  • Waterfall model
The waterfall model shows a process, where developers are to follow these phases in order:
    • Requirements specification (Requirements analysis)
    • Software design
    • Implementation and Integration
    • Testing (or Validation)
    • Deployment (or Installation)
    • Maintenance
  • Spiral model
The key characteristic of a Spiral model is risk management at regular stages in the development cycle
  • Iterative and incremental development
Iterative development prescribes the construction of initially small but ever-larger portions of a software project to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster.
  • Agile development
 Agile software development uses iterative development as a basis but advocates a lighter and more people-centric viewpoint than traditional approaches. 
Agile processes use feedback, rather than planning, as their primary control mechanism. 
The feedback is driven by regular tests and releases of the evolving software.
    •  Extreme Programming (XP)
    •  Scrum
    •  Dynamic systems development method
  • Code and fix




  • Yazılım Süreci Modelleri

Süreçlere ilişkin ayrıntılarla ya da süreçler arası ilişkilerle ilgilenmezler.

Gelişigüzel Model
Barok Modeli
Çağlayan (Şelale) Modeli
V Modeli
Helezonik (Spiral) Model
Evrimsel Model
Artırımsal Model
Araştırma Tabanlı Model
https://docs.google.com/viewer?a=v&q=cache:h-uE4oVxKEkJ:metinakbulut.com/YAZILIM-MIMARISI/Bolum-02.ppt+&hl=en&pid=bl&srcid=ADGEESiVmUq28rel_uDufGt4hTrHCQJobcQWjz1uLDTfP1KdtLjfuTx16UMDgoKfKVPxsiUCvkMgGprNKDLuAGHyg7PCCwpQVsYqL4dIMBrwbjyYjc7-5SZ7k3i8lZk811DWSUMNY6pU&sig=AHIEtbSNh8MipDzJioe4jerIIEKNlu6IWQ



  • Software process models:


Waterfall model
Evolutionary development
Formal systems development
Reuse-based development

Hybrid software process models:
Incremental development
Spiral development
https://docs.google.com/viewer?a=v&q=cache:mzUVIL-enOoJ:ranger.uta.edu/~khalili/Chapter%25202%2520-%2520Software%2520Processes.ppt+&hl=en&pid=bl&srcid=ADGEESi6A2gA72cNC8G9XZUGMFbdp_KiBVyfImtHJ5fQkFFx5gMfiay2PqBy8dPVIWC2LtNxTJmKtyDsEOV1o0xzG5FK15XLMvuz7r7yw1wAGdU-cHsxsaSBTnIsUbh3sEaUXd8-VxQz&sig=AHIEtbTW9RfBAQsoyIn3uwsmbqdgsKu8rA



  • the key pros and cons of six of the most common SDLC methodologies


1. Waterfall Model
Waterfall is the oldest and most straightforward of the structured SDLC methodologies — finish one phase, then move on to the next. No going back. Each stage relies on information from the previous stage and has its own project plan.Waterfall is easy to understand and simple to manage. But early delays can throw off the entire project timeline. And since there is little room for revisions once a stage is completed, problems can’t be fixed until you get to the maintenance stage. This model doesn’t work well if flexibility is needed or if the project is long term and ongoing.

2. V-Shaped Model
Also known as the Verification and Validation model, the V-shaped model grew out of Waterfall and is characterized by a corresponding testing phase for each development stage. Like Waterfall, each stage begins only after the previous one has ended. This model is useful when there are no unknown requirements, as it’s still difficult to go back and make changes.

3. Iterative Model
Instead of starting with fully known requirements, you implement a set of software requirements, then test, evaluate and pinpoint further requirements. A new version of the software is produced with each phase, or iteration. Rinse and repeat until the complete system is ready.One advantage over other SDLC methodologies: This model gives you a working version early in the process and makes it less expensive to implement changes. One disadvantage: Resources can quickly be eaten up by repeating the process again and again.

4. Spiral Model
the Spiral model takes a cue from the Iterative model and its repetition; the project passes through four phases over and over in a “spiral” until completed, allowing for multiple rounds of refinement. This model allows for the building of a highly customized product, and user feedback can be incorporated from early on in the project. But the risk you run is creating a never-ending spiral for a project that goes on and on

5. Big Bang Model
the Big Bang model follows no specific process, and very little time is spent on planning. The majority of resources are thrown toward development, and even the client may not have a solid grasp of the requirements. This is one of the SDLC methodologies typically used for small projects with only one or two software engineers.

6. Agile Model
By breaking the product into cycles, the Agile model quickly delivers a working product and is considered a very realistic development approach. The model produces ongoing releases, each with small, incremental changes from the previous release. At each iteration, the product is tested.
This model emphasizes interaction, as the customers, developers and testers work together throughout the project. But since this model depends heavily on customer interaction, the project can head the wrong way if the customer is not clear on the direction he or she wants to go.
https://www.roberthalf.com/technology/blog/6-basic-sdlc-methodologies-the-pros-and-cons

No comments:

Post a Comment