Software Engineering: Processes, Models, and Delivery, Cheat Sheet of Software Engineering

A comprehensive overview of software engineering, covering key concepts such as software processes, software process models (waterfall, evolutionary, and component-based), and software delivery models (incremental and spiral). It delves into the definition of software engineering, the differences between programmers and software engineers, the characteristics of modern software, and the importance of software engineering for software development. The document also explores the software process activities (specification, design/implementation, validation, and evolution), the qualities of good software, and the reasons for the need for software engineering. Additionally, it covers the various software process models, their advantages, disadvantages, and the situations in which they are suitable. A comprehensive understanding of the fundamental aspects of software engineering, making it a valuable resource for students, researchers, and professionals in the field.

Typology: Cheat Sheet

2022/2023

Uploaded on 01/21/2023

engyassen-hadhoud
engyassen-hadhoud 🇪🇬

6 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Engineering
Unit 2: Basic Software Engineering (BSE)
Introduction to software engineering
Software engineering is defined as a process of analyzing user requirements and then
designing, building, and testing software application which will satisfy those
requirements.
Software Processes: waterfall model, evolutionary model, and component based model
Waterfall Model: The waterfall model is a breakdown of project activities into linear
sequential phases, where each phase depends on the deliverables of the previous one
and corresponds to a specialisation of tasks. The approach is typical for certain areas
of engineering design.
Evolutionary model$is a combination of$Iterative$and$ Incremental model$ of software
development life cycle. Delivering your system in a big bang release, delivering it in
incremental process over time is the action done in this model. Some initial
requirements and architecture envisioning need to be done.
Component-Based Process Model
It follows then that a$component-based process model$is a description or template that
fosters the development of a project by identifying and reusing components that already
exist. Components are simple, self-contained, pieces of functionality that you can combine in
any fashion to solve a problem or set of problems.
Delivery models: incremental delivery, spiral delivery
https://vivadifferences.com/waterfall-vs-incremental-vs-spiral-vs-rad-model/
Process activities: specification, design/implementation, validation, evolution
pf3

Partial preview of the text

Download Software Engineering: Processes, Models, and Delivery and more Cheat Sheet Software Engineering in PDF only on Docsity!

Software Engineering Unit 2: Basic Software Engineering (BSE)

  • Introduction to software engineering Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements.
  • Software Processes: waterfall model, evolutionary model, and component based model Waterfall Model: The waterfall model is a breakdown of project activities into linear sequential phases, where each phase depends on the deliverables of the previous one and corresponds to a specialisation of tasks. The approach is typical for certain areas of engineering design. Evolutionary model is a combination of Iterative and Incremental model of software development life cycle. Delivering your system in a big bang release, delivering it in incremental process over time is the action done in this model. Some initial requirements and architecture envisioning need to be done. Component-Based Process Model It follows then that a component-based process model is a description or template that fosters the development of a project by identifying and reusing components that already exist. Components are simple, self-contained, pieces of functionality that you can combine in any fashion to solve a problem or set of problems.
  • Delivery models: incremental delivery, spiral delivery https://vivadifferences.com/waterfall-vs-incremental-vs-spiral-vs-rad-model/
  • Process activities: specification, design/implementation, validation, evolution
  1. What is software engineering?
  2. Compare Programmer and software engineer/Programming and software engineering. https://www.educba.com/programmers-vs-software-engineering/
  3. What is the specific feature of modern day software?
  4. What is the major issue while developing large commercial programs?
  5. List out the things to be ensured while developing software.
  6. List out the drawbacks in software development.
  7. Explain the reasons why software engineering is very important for software development.
  8. “A fault detected later casts much higher as compared to early fault-detection”. Why?
  9. Explain the qualities of good software.
  10. What is the need for software engineering?
  11. Define software process.
  12. Write the other names for software processes.
  13. Expand SDLC.
  14. What are software process activities?
  15. Which is also called requirement engineering?
  16. What is the other name for software evolution?
  17. List the 4 process activities and explain with flowchart.
  18. What are the 4 phases in software specification? (just the names)
  19. Expand the 4 phases of software specification in detail with figure.
  20. Differentiate functional and non-functional requirements.
  21. List the sub activities in software design and implementation.
  22. Explain software design and implementation.
  23. Differentiate verification and validation.
  24. What does V & V model means?
  25. What is the other name for component testing?
  26. Explain software verification and validation.
  27. What is software evolution/maintenance?
  28. Write the 3 major reasons of software’s changing needs and requirements.
  29. Explain software evolution/maintenance.
  30. Define software process. Explain software process activities in detail.
  31. What is software process model? (one sentence answer)
  32. What are the 3 process models? (names)
  33. Will any software development need more than one process model?
  34. Define waterfall model. What is its other name?
  35. Explain the phases in waterfall model with figure.