Module 2

Cards (20)

  • Software Specification – Also known as Requirements Engineering. This is the process of establishing what services are required and the constraints on the system’s operation and development.
  • Software Process is a structured set of activities required to develop a software system.
  • Software Design and Implementation– The implementation stage of software development is the process of converting the system specification into an executable system or the process of developing an executable system for delivery to the customer.
  • Implementation - Translate this structure into an executable program;
  • Software design - Design a software structure that realises the specification;
  • Software Validation or, more generally,Verification and validation (V & V) is intended to show that a system conforms to its specification and meets the requirements of the system customer.
  • defines Verification as “A test of a system to prove that it meets all its specified requirements at a particular stage of its development.
  • Validation An activity that ensures that an end product stakeholder’s true needs and expectations are met.”
  • Software Evolution - this term refers to the process of developing applications initially, then then timely updating it for various reasons, i.e., to add new features or to remove obsolete functionalities etc. The software must evolve to meet the changing customer needs.
  • Software processes are complex and, like all intellectual and creative processes, rely on people making decisions and judgments
  • Software process model (sometimes called as Software Development Life Cycle or SDLC) is a simplified representation of a software process. It presents a description of a process from some particular perspective and thus only provides partial information about that process.
  • WaterfallModel – This takes the fundamental process activities of specification, development, validation, and evolution and represents them as a separate process.
  • Evolutionary Model - this model is a combination of iterative and incremental model software development life cycle. Delivering an application in a big bang release, delivering it in incremental process over time is the action done in this model.
  • Reuse-oriented Development - Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems.
  • Change Anticipation, where the software process includes activities that can anticipate or predict possible changes before significant rework is required.
  • ChangeTolerance, where the process and software are designed so that changes can be easily made to the system. This normally involves some form of incremental development.
  • System prototyping, where a version of the system or part of the system is developed quickly to check the customer’s requirements and the feasibility of design decisions. This is a method of change anticipation as it allows users to experiment with the system before delivery and so refine their requirements.
  • Incremental delivery, where system increments are delivered to the customer for comment and experimentation. This supports both change avoidance and change tolerance. It avoids the premature commitment to requirements for the whole system and allows changes to be incorporated into later increments at relatively low cost.
  • Generic process models describe the organisation of software processes
  • General activities are specification, design and implementation, validation and evolution