Software Development Faculty of Computer Science Dalhousie - - PowerPoint PPT Presentation

software development
SMART_READER_LITE
LIVE PREVIEW

Software Development Faculty of Computer Science Dalhousie - - PowerPoint PPT Presentation

CSCI 2132: Software Development Norbert Zeh Software Development Faculty of Computer Science Dalhousie University Life Cycle Winter 2019 Software Development Life Cycle (SDLC) General term that describes structure imposed on the


slide-1
SLIDE 1

CSCI 2132: Software Development

Software Development
 Life Cycle

Norbert Zeh

Faculty of Computer Science Dalhousie University Winter 2019

slide-2
SLIDE 2

Software Development Life Cycle (SDLC)

General term that describes structure imposed on the development of a software product Purpose:

  • Manage project cost
  • Reduce risk of missing a deadline
  • Ensure product quality
  • Prevent “scope creep”

Many models to organize the SDLC have been proposed.

slide-3
SLIDE 3

Waterfall Model

Sequential design process

Requirements analysis Verification (testing) Software design Maintenance (patches, …) Implementation (coding)

slide-4
SLIDE 4

Pros and Cons of Waterfall Model

Pros:

  • Natural and easy to understand
  • Widely used
  • Reinforces the notion of “design before coding”
  • Clear milestones

Cons:

  • Often not practical (too rigid)
  • Clients may change the requirements
  • Designers may not be aware of implementation challenges


(even if they are the same person)

slide-5
SLIDE 5

Rapid Prototyping Model

Gather preliminary requirements Rapid prototyping Discard prototype and develop software using formal process User evaluation of prototype

slide-6
SLIDE 6

Pros and Cons of Rapid Prototyping

Pros:

  • Ensures that software product meets client’s requirements
  • Reduce time and cost if client requests changes during the

process Cons:

  • Adequate and appropriate user involvement may not always be

possible

  • Cost of prototype development
  • Developer attachment to prototype
slide-7
SLIDE 7

More About Models

There are many models. Studied in Software Engineering course (CSCI 3130) Choose appropriate model depending on the particular software to be developed and client constraints.