Skip to main content

Unit 4 Software development Models (Class 12 SEP)

  Software development Model

Software development models are various processes or methods that are chosen for project development depending on the objectives and goals of the project. Many development life cycle models have been developed to achieve various essential objectives. Models specify the various steps of the process and the order in which they are executed.

The few software development models are discussed below:

Waterfall Model (SDLC Model)

The Waterfall Model is a traditional software development model in which the project is developed in sequential phases. Each phase must be completed before moving to the next phase, and there is usually no going back once a phase is completed. It is one of the earliest SDLC (Software Development Life Cycle) models.

1. Features of Waterfall Model

  1. Sequential Phases: Development progresses in a fixed order:
    • Requirements → Design → Implementation → Testing → Deployment → Maintenance
  2. Clear Documentation: Each phase produces formal documentation that guides the next phase.
  3. Easy to Understand & Manage: Because of its step-by-step approach, project progress is easy to monitor.
  4. Well-defined Requirements: Works best when requirements are clear and unlikely to change.
  5. Phase Completion: Each phase has specific deliverables and milestones.

 

2. Advantages of Waterfall Model

  1. Simple & Easy to Use: Very straightforward; easy for developers and managers to understand.
  2. Structured & Disciplined: Clear documentation and defined phases make project management easier.
  3. Early Detection of Errors: Errors in a phase can be detected before moving to the next phase.
  4. Ideal for Small Projects: Works well when requirements are well-known and stable.
  5. Progress Tracking: Easy to measure progress by checking completion of each phase.

 

3. Disadvantages of Waterfall Model

  1. Inflexible to Changes: Once a phase is completed, going back to make changes is difficult and costly.
  2. Poor for Complex Projects: Not suitable for large projects with evolving requirements.
  3. Late Testing Feedback: Testing is done after implementation, so defects may be discovered late.
  4. Customer Feedback Delayed: The client sees the final product only after the implementation phase.
  5. High Risk: If requirements are misunderstood initially, it can lead to project failure.

Comments

Popular posts from this blog

Unit 2 Operating System

  Unit- 2  Process and Process Scheduling 2.1 Introduce Process, Program and Process Life Cycle  Process Process is something that is currently under execution. So, an active program can be called a Process. Examples: ●        Opening a web browser to search something on the internet — the browser becomes a process. ●        Launching a music player to enjoy your favorite tunes — the music player is also a process. In computing, a process is the instance of a computer program that is being executed by one or many threads. It contains the program code and its activity. Modern operating systems support multithreading , meaning a process can have multiple threads running concurrently .   A Process has various attributes associated with it. Some of the attributes of a Process are: ●          Process Id: Every process will be given a unique id that identifies the process...

Unit-1 Introduction to C#.NET (Class 12)

  What is .NET Framework? The .NET Framework is a software development platform developed by Microsoft. It provides tools and libraries to build and run Windows applications, web services, and web apps. It gives tools and libraries that make it easier to write programs. It also helps the computer run those programs safely and efficiently. Microsoft started working on .NET Framework in the late 1990s . The first version, .NET Framework 1.0 , was released in 2002 .   The .NET Framework is made up of several important components: 1.       Common Language Runtime (CLR) is the core engine that runs your program. It converts your code into machine code that the computer can understand, manages memory, handles errors, and ensures that your program runs safely. 2.       The Class Library is a large collection of ready-made code that helps you perform common tasks like working with files, databases, graphics, the i...

Introduction to Software Engineering (Class 12)

 Introduction to Software Engineering Software engineering is the branch of computer science that deals with the design, development, testing, and maintenance of software applications. Software engineers apply engineering principles and knowledge of programming languages to build software solutions for end users. IEEE, in its standard 610.12-1990, defines software engineering as the application of a systematic, disciplined, which is a computable approach for the development, operation, and maintenance of software. Boehm defines software engineering, which involves, ‘the practical application of scientific knowledge to the creative design and building of computer programs. It also includes associated documentation needed for developing, operating, and maintaining them.’ Importance of Software Engineering Reduces complexity Large software systems are divided into smaller, manageable modules. Each module is developed and solved independently, ...