Ch02 - Process: A Generic View

  1. Realities in building a software:
    • It follows that a concerted effort should be made to understand the problem before a software solution is developed
    • It follows that design becomes a pivotal activity
    • It follows that software should exhibit high quality.
    • It follows that software should be maintainable.
  2. Software engineering is a ____________.
    layered technology
  3. The bedrock that supports software engineering is a __________.
    quality focus
  4. The foundation of software engineering is the ________ layer.
  5. The software engineering _______ is the glue that holds the technology layers together and enables rational and timely development of computer software.
  6. Software engineering ________ provide the technical how-to’s for building software.
  7. Software engineering ______ provide automated or semi-automated support for the process and the methods.
  8. When tools are integrated so that information created by one tool can be used by another, a system for the support of software development, called _______________, is established
    computer-aided software engineering
  9. Software Engineering layers:
    • Tools
    • Methods
    • Process
    • Quality focus
  10. collection of activities, actions, and tasks that are performed when some work is to be created.
  11. strives to achieve a broad objective and is applied regardless of the application domain, size of the project, complexity of the effort, or degree of rigor with which software engineering is to be applied.
  12. encompasses a set of tasks that produce a major work product.
  13. focuses on small, but well-defined objective that produces a tangible outcome.
  14. (T/F) In the context of software engineering, a process is not a rigid prescription for how to build computer software.
  15. established the foundation for a complete software engineering process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity.
    Process framework
  16. Process framework established the foundation for a complete software engineering process by identifying a small number of _____________ that are applicable to all software projects, regardless of their size or complexity.
    framework activities
  17. The process framework encompasses a set of ___________ that are applicable across the entire software process.
    umbrella activities
  18. Process Frameworks:
    • Communication
    • Planning
    • Modeling
    • Construction
    • Deployment
  19. provides stakeholders with a subset of overall software features and functionality.
    Software increment
  20. Umbrella Activities:
    • Software project tracking and control
    • Risk management
    • Software quality assurance
    • Technical reviews
    • Measurement
    • Software configuration management
    • Reusability management
    • Work product preparation and production
  21. allows the software team to assess progress against the project plan and take any necessary action to maintain the schedule.
    Software project tracking and control
  22. assesses the risk that may affect the outcome of the project or the quality of the product.
    Risk management
  23. defines and conducts the activities required to ensure software quality.
    Software quality assurance
  24. assess software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity.
    Technical reviews
  25. defines and collects process, project and product measures that assist the team in delivering software that meets stakeholder’s needs.
  26. manages the effects of change throughout the software process.
    Software configuration management
  27. defines criteria for work reuse and establishes mechanisms to achieve reusable components.
    Reusability management
  28. encompasses the activities requires to create work such as models, logs, forms and lists.
    Work product preparation and production
  29. Essence of software engineering practice:
    • Understand the problem (communication and analysis)
    • Plan a solution (modeling and software design)
    • Carry out the plan (code generation)
    • Examine the result (testing and quality assurance)
  30. an important underlying law or assumption required in a system of thought.
  31. General Principles in Software Engineering:
    • The Reason It All Exists
    • KISS (Keep it simple, stupid)
    • Maintain the Vision
    • What you produce, Others will consume
    • Be open to failure
    • Plan ahead for reuse
    • Think
  32. A software system exists for one reason: to provide value to its users.
    The Reason It All Exists
  33. All design should be as simple as possible, but no simpler.
    KISS (Keep it simple, stupid)
  34. A clear vision is essential to the success of a software project.
    Maintain the Vision
  35. Always specify, design and implement knowing someone else will have to understand what you are doing.
    What you produce, Others will consume
  36. Never design yourself into a corner.
    Be open to failure
  37. Reduces the cost and increases the value of both the reusable components and the systems into which they are incorporated.
    Plan ahead for reuse
  38. Placing clear, complete thought before action almost always produces better results.
  39. erroneous beliefs about software and the process that is used to build it.
    Software development myths
  40. (T/F) Software requirements continually change, but change can be easily accommodated because software is flexible.
  41. (T/F) Software engineering is not about creating documents. It is about creating a quality product. Better quality leads to reduced rework, and reduced rework results in faster delivery times.
  42. One of the most effective software quality assurance mechanisms can be applied from the inception of a project – the ____________.
    technical review
Card Set
Ch02 - Process: A Generic View
2nd Semester