Software Engineering (2160701)

BE | Semester-6   Winter-2018 | 16-11-2018

Q1) (c)

What is the importance of Process Model in development of Software System? Explain Prototype Process Model.

Importance of Process Model

  • The process model is the abstract representation of process.
  • Also known as Software development life cycle (SDLC) or Application development life cycle Models
  • Process models prescribe a distinct set of activities, actions, tasks and milestones (deliverables) required to engineer high quality software.
  • Process models are not perfect, but provide roadmap for software engineering work.
  • Software models provide stability, control and organization to a process that if not managed can easily get out of control.
  • Software process models are adapted (adjusted) to meet the needs of software engineers and managers for a specific project.

Prototype process model

  • Prototyping model is appropriate when
    • Customers have general objectives of software but do not have detailed requirements for functions & features.
    • Developers are not sure about efficiency of an algorithm & technical feasibilities.
  • It serves as a mechanism for identifying software requirements.
  • Prototype can be serve as “the first system”.
  • Both stakeholders and software engineers like prototyping model
    • Users get feel for the actual system
    • Developers get to build something immediately
Prototype Model

It works as follow

  • Communicate with stockholders & define objective of Software
  • Identify requirements & design quick plan
  • Model a quick design (focuses on visible part of software)
  • Construct Prototype & deploy
  • Stakeholders evaluate this prototype and provides feedback
  • Iteration occurs and prototype is tuned based on feedback

Problem Areas

  • Customer demand that “a few fixes” be applied to make the prototype a working product, due to that software quality suffers as a result
  • Developer often makes implementation in order to get a prototype working quickly; without considering other factors in mind like OS, Programming language, etc.

Advantages

  • Users are actively involved in the development
  • Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed
  • Errors can be detected much earlier