Software Engineering: Introduction and Overview
10 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the primary concern of software engineering?

  • Systematic and organized approach to work
  • Developing and delivering useful software (correct)
  • Requirements, design models, and user manuals
  • Theory and fundamentals
  • Which type of software is developed for a single customer according to their specification?

  • New software created by developing new programs
  • Generic software
  • Bespoke (custom) software (correct)
  • PC software such as Excel or Word
  • What does computer science primarily focus on?

  • Requirements, design models, and user manuals
  • Theory and fundamentals (correct)
  • Systematic and organized approach to work
  • Developing and delivering useful software
  • Which discipline is concerned with all aspects of software production?

    <p>Software engineering</p> Signup and view all the answers

    How can new software be created?

    <p>By developing new programs</p> Signup and view all the answers

    What is the primary difference between software engineering and system engineering?

    <p>Software engineering focuses on developing the software infrastructure, control, applications, and databases, while system engineering is concerned with all aspects of computer-based systems development including hardware, software, and process engineering.</p> Signup and view all the answers

    What is a software process model?

    <p>A representation of software processes from different perspectives such as workflow, data-flow, and role/action.</p> Signup and view all the answers

    What are the attributes of good software according to the text?

    <p>Deliver required functionality and performance, maintainable, dependable, and acceptable.</p> Signup and view all the answers

    What are the generic activities in all software processes according to the text?

    <p>Specification, development, validation, and evolution.</p> Signup and view all the answers

    What is CASE (Computer-Aided Software Engineering) according to the text?

    <p>Software systems intended to provide automated support for software process activities.</p> Signup and view all the answers

    Study Notes

    • Software: A collection of computer programs and associated documentation, including requirements, design models, and user manuals. Software can be developed for specific customers or for a general market. Types of software include generic software like Excel or Word, and bespoke (custom) software developed for a single customer. New software can be created through developing new programs, configuring existing software, or reusing existing software.
    • Software Engineering: An engineering discipline focused on producing software. Software engineers should adopt a systematic approach, using appropriate tools and techniques. Differences between software engineering and computer science: Computer science deals with theory and fundamentals while software engineering focuses on practical software development. Theories of computer science do not fully underpin software engineering.
    • Software Engineering vs System Engineering: System engineering deals with all aspects of computer-based systems development, including hardware, software, and processes. Software engineering is a part of this process, responsible for developing software infrastructure, control, applications, and databases within the system. System engineers handle system specification, architectural design, integration, and deployment.
    • Software Process: A set of activities aimed at developing or evolving software. Activities include specification, development, validation, and evolution.
    • Software Process Model: A simplified representation of a software process, presented from a specific perspective. Common process perspectives include workflow, data-flow, and role/action. Generic process models include Waterfall, Iterative Development, and Component-Based Software Engineering.
    • Computer-Aided Software Engineering (CASE): Systems designed to support software process activities. Upper-CASE tools focus on early process activities, such as requirements and design, while Lower-CASE tools support later activities, like programming, debugging, and testing.
    • Good Software Attributes: Software should meet user requirements, offer desired performance, maintainability, dependability, efficiency, and acceptability. Maintainability refers to adapting software to changing needs; dependability ensures trustworthiness; efficiency reduces wasteful resource use; and acceptability means software must be understood, usable, and compatible with other systems.
    • Challenges in Software Engineering: Heterogeneity, delivery, and trust. Heterogeneity requires techniques to build software for diverse platforms and execution environments; delivery focuses on faster software delivery; trust involves demonstrating software trustworthiness.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Learn about the fundamentals of software engineering, including the definition of software, types of software products, and associated documentation. Explore the differences between generic and bespoke software development.

    More Like This

    Use Quizgecko on...
    Browser
    Browser