Skip to content
Behiye Avci edited this page Feb 23, 2016 · 7 revisions

Software Development Life Cycle

SDLC is a well-organized sequence of stages in software engineering to develop the intended software product. It provides a series of steps to be followed to design and develop a software product efficiently. The framework contains following steps:

  • Communication
  • Requirement gathering
  • Feasiblity study
  • System analysis
  • Software design
  • Coding
  • Testing
  • Integration
  • Implementation
  • Operation & Maintenance
  • Disposition

##Waterfall Model ##

Waterfall model is the earliest SDLC model. According to this model, each phase must be completed before next phase starts. For this reason, this model do not have any overlaps between phases.

  • Advantages: It is easy and simple to use and understand. Stages can be clearly defined. For this reason, it is easy to manage process of each phase.

  • Disadvantages: It has high amount of risk because it is hard to go back when application is in an advanced stage like testing due to insufficient revision and reflection.

##Iterative Model ##

  • Starts with simple implementation of requirements.
  • After implementing simple requirements, reviews completed part to determine further requirements.
  • Evolves each version iteratively using the steps explained above until reaching complete system which is ready to deployment.

##Spiral Model ##

  • Combination of waterfall model and iterative model.
  • It provides incremental refinements around the spiral.

##V Model ##

  • Provides means of testing of software at each stage in reverse manner
  • At every stage, test plans and test cases are created to verify and validate the product according to the requirement of that stage
  • Biggest drawback of waterfall model is we can pass to the next stage only if the previous one is done and there is no way to go back if something is found wrong in later stages

##Big Bang Model ##

  • Simplest model in its form
  • Requires little planning, lots of programming and lots of funds
  • Does not follow any process

##Agile Model##

  • Focuses on customer satisfaction.
  • According to this model, every project is approached differently.
  • A list of feature is released within certain amount of time.
  • After each release, delivered features increase. Final build holds all required features. (iterative)

References & Further Readings

Team Members:

#Project: #

  • Requirements
  • [API Docs](API Docs)
  • Plan
  • Themes/Features
  • Personas
  • [User Stories](User Stories and Acceptance Criteria)
  • [Domain Analysis](Domain Analysis)
  • [Responsibility Assignment Matrix](Responsibility Assignment Matrix)
  • [Project Communication Plan](Project Communication Plan)
  • [Test Cases](Test Cases)
  • [Setting Development Environment](Setting Development Environment)

#Diagrams: #

  • [Use Cases and Use Case Diagram](Use Cases)
  • [Use Case Drafts](Use Case Drafts)
  • [Class Diagram](Class Diagram)
  • [Activity Diagram](Activity Diagram)
  • [Sequence Diagrams](Sequence Diagrams)

#Mockups: #

  • [Web Mockups](Web Mockups)
  • [Mobile Mockups](Mobile Mockups)

#Meetings: # Spring Semester

#Milestones: # Spring Semester

  • [Milestone-1 Report](Milestone-1 Report)

      Fall Semester
    
  • [Milestone-1 Report](Milestone-2 Report)

  • [Milestone-2 Report](Milestone-3 Report)

  • [Milestone-3 Report](Milestone-4 Report)

#Group Works: #

#Documentations: #

Clone this wiki locally