
Software Development Models and Phases
Explore popular software development models such as Waterfall and Prototyping, along with the phases of software development. Discover how professional software engineers approach coding and the complexities of software system development.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
CS341 Software Engineering Software Development
Topics Reminder of Homework 1: Software Development Models to Study Phases of Software Development
Quick Question before we get started! How many Lines of Code per day do you think professional software engineers write? a. 25 b. 25 50 c. 50 100 d. 100 1000 e. More than 1000
Answer: Professional Software Engineers Lines of code Professional Software Engineers Lines of code On average, software engineers produce between 50 and 100 lines of code a day. Coding is not everything. When developing software, writing code is not the only thing coders have to do. This is a very important point.
What we know about the development of software: Software systems can be immensely complex Software development requires envisioning of valuable functionality. Understanding requirements and developing a conceptual design is crucial. A software system must be tested. Verification is part of development.
Software Development: Simple View Abstract Idea Concrete software system (fully functioning)
The Engineering of Software A software model is often used to break down complex development into smaller steps. There are multiple software models, depending on the kind of application that will be developed.
Homework: Popular Software Development Models 1. Waterfall model: Moves from one development phase to another similar to water that flow in a waterfall. 2. Prototyping model: start with an initial prototype and evolve it based on the feedback from the customer. 3. Incremental Development model 4. Boehm s Spiral model Homework Assignment 1: You will read and answer questions about these different models.
Phases of Software Development Development is characterized by several phases. Only one of these phases is focused on coding.
Requirements Engineering Talk to the customer and/or the stakeholders. During this phase, it is important to understand what kind of system needs to be built. Gather a complete set of requirements that will be met by the software system.
Design The engineering requirements are then used to define the design. Design is a high-level structure of the software product.
Implementation Write the code that implements the design which was defined.
Verification and Validation Code needs to be verified and validated. Test cases must be constructed to test as many scenarios as possible. It is crucial that code behaves as intended.
Maintenance Maintenance involves several activities like, such as, adding new functionality or eliminating bugs Maintenance requires responding to problems that are reported from the field after the released of software.
Software Phases : Practice during the semester Requirements Engineering You will be asked to assess and outline the software requirements for future homework assignments Design You will be asked to design and construct class diagrams for the software you will be building for homework assignments. Implementation You will write the code that implements the design you defined for homework. Verification and Validation You will construct and perform test cases to verify and validate the software you develop.