Software Engineering Overview
40 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 attribute ensures that software continues to function well over time?

  • Dependability
  • Maintainability (correct)
  • Usability
  • Performance
  • Which part of software engineering focuses on practical applications?

  • System engineering
  • Software testing
  • Software engineering (correct)
  • Computer science
  • What is one of the fundamental activities in software engineering?

  • Market research
  • Software specification (correct)
  • Customer support
  • Hardware design
  • Which of the following best describes a challenge in software engineering?

    <p>Coping with increasing diversity</p> Signup and view all the answers

    What percentage of software costs typically goes towards development?

    <p>60%</p> Signup and view all the answers

    For safety-critical control systems, which development method is preferred?

    <p>Complete and analyzable specification</p> Signup and view all the answers

    How do software engineering and system engineering differ in their scope?

    <p>System engineering includes process engineering.</p> Signup and view all the answers

    Which of the following elements are included in the concept of efficiency in software?

    <p>Processing time</p> Signup and view all the answers

    Which method is considered most effective for game development?

    <p>A series of prototypes</p> Signup and view all the answers

    What is meant by acceptability in the context of software?

    <p>Software is easy to learn and use for its target audience.</p> Signup and view all the answers

    What is a key reason for the importance of software engineering?

    <p>It ensures the production of reliable and trustworthy systems.</p> Signup and view all the answers

    Which of the following best describes software engineering?

    <p>An engineering discipline concerned with all aspects of software production.</p> Signup and view all the answers

    What are the main activities involved in the software process?

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

    Which factor contributes to the increasing complexity of software systems?

    <p>Heterogeneity in distributed systems.</p> Signup and view all the answers

    Why is it often cheaper in the long run to use software engineering methods?

    <p>They minimize the costs of future changes to software.</p> Signup and view all the answers

    Which of the following statements is least related to the development of software?

    <p>It focuses solely on coding.</p> Signup and view all the answers

    What is a characteristic of generic software products?

    <p>They are marketed and sold to any customer.</p> Signup and view all the answers

    Who owns the specification for customized software products?

    <p>The customer who commissions the software.</p> Signup and view all the answers

    Which of the following is NOT an essential attribute of good software?

    <p>Aesthetic design</p> Signup and view all the answers

    What factor relates to maintainability in software development?

    <p>Software must evolve to meet changing customer needs.</p> Signup and view all the answers

    What is a crucial aspect of software dependability?

    <p>It should not cause physical or economic damage upon failure.</p> Signup and view all the answers

    Which statement best describes the characteristics of software security?

    <p>It protects software from unauthorized access and damage.</p> Signup and view all the answers

    What type of software is typically an example of a generic product?

    <p>Graphics programs for PC</p> Signup and view all the answers

    Which of the following indicates an important advance due to web-based systems development?

    <p>Development of highly distributed service-based systems.</p> Signup and view all the answers

    What approach is recommended for developing web-based systems?

    <p>Develop and deliver incrementally</p> Signup and view all the answers

    Which technology supports the creation of rich interfaces in web development?

    <p>AJAX and HTML5</p> Signup and view all the answers

    What is a primary ethical responsibility of software engineers?

    <p>To behave honestly and ethically</p> Signup and view all the answers

    What should engineers respect regarding confidentiality?

    <p>The confidentiality of employers or clients at all times</p> Signup and view all the answers

    Which of the following describes a key aspect of professional competence for engineers?

    <p>Only taking on work within their competence</p> Signup and view all the answers

    What should engineers be aware of concerning intellectual property rights?

    <p>Local laws governing intellectual property</p> Signup and view all the answers

    What behavior is categorized as computer misuse for software engineers?

    <p>Using skills to exploit others' computers</p> Signup and view all the answers

    What ethical principle extends beyond merely following the law for software engineers?

    <p>Following morally correct principles</p> Signup and view all the answers

    What is one of the main goals of the Mentcare system?

    <p>To generate management information for performance assessment.</p> Signup and view all the answers

    Which feature allows clinicians to quickly learn about the key problems and treatments prescribed to patients?

    <p>Data summaries functionality.</p> Signup and view all the answers

    What safety concern is associated with the Mentcare system?

    <p>Potential suicides or danger from patients.</p> Signup and view all the answers

    What type of reports does the Mentcare system generate for administrative purposes?

    <p>Monthly management reports.</p> Signup and view all the answers

    Which aspect of the Mentcare system is designed to ensure patient information remains confidential?

    <p>Authorization requirements for medical staff.</p> Signup and view all the answers

    What do the weather stations deployed in remote wilderness areas primarily measure?

    <p>Weather-related data such as temperature and pressure.</p> Signup and view all the answers

    How does the Mentcare system support patient monitoring?

    <p>By generating alerts for potential problems.</p> Signup and view all the answers

    What is a potential consequence of the Mentcare system being unavailable when needed?

    <p>Compromised patient safety.</p> Signup and view all the answers

    Study Notes

    Software Characteristics

    • Good software should be maintainable, dependable, usable, and deliver the required functionality and performance to the user.

    Software Engineering

    • Software engineering is an engineering discipline focused on all aspects of software production.

    Fundamental Software Engineering Activities

    • Software specification is where customers and engineers define the software to be produced and the constraints on its operation.
    • Software development is the process of designing and programming the software.
    • Software validation is the process of checking the software to ensure it meets customer requirements.
    • Software evolution is the process of modifying software to meet changing customer and market requirements.

    Software Engineering vs. Computer Science

    • Computer science focuses on the theory and fundamentals, while software engineering focuses on the practicalities of developing and delivering usable software.

    Software Engineering vs. System Engineering

    • System engineering encompasses all aspects of computer-based system development, including hardware, software, and process engineering. Software engineering is a part of this broader process.

    Cost of Software Engineering

    • Development costs account for roughly 60% of total software costs, while testing costs account for 40%.
    • For custom software, evolution costs often surpass development costs.

    Software Engineering Challenges

    • The key challenges include coping with increasing diversity, demands for reduced delivery times, and developing trustworthy software.

    Web Impact on Software Engineering

    • The web has enabled the availability of software services and the development of highly distributed service-based systems.
    • Web-based systems development has led to advancements in programming languages and software reuse.

    Types of Software Products

    • Generic Products: Stand-alone systems marketed and sold to any customer, like PC software (graphics programs, project management tools), CAD software, and software for specific markets (dental appointment systems).
    • Customized Products: Software commissioned by a specific customer to meet their needs, like embedded control systems, air traffic control software, and traffic monitoring systems.
    • Product Specification:
      • Generic Products: The specification is owned by the software developer, and the developer makes decisions on changes.
      • Customized Products: The specification is owned by the customer, and they make decisions on required changes.

    Essential Attributes of Good Software

    • Maintainability: Software should be written to evolve and meet changing customer needs.
    • Dependability and Security: Software should be reliable, secure, and safe. It should not cause physical or economic damage in case of failure and should be protected from malicious users.
    • Efficiency: Software should use system resources like memory and processor cycles efficiently, including responsiveness, processing time, and memory utilization.
    • Acceptability: Software must be acceptable to its intended users, meaning it should be understandable, usable, and compatible with other systems used by them.

    Importance of Software Engineering

    • Individuals and society rely heavily on advanced software systems, requiring economical and timely development of reliable and trustworthy systems.
    • Using software engineering methods and techniques is usually cheaper in the long run than treating software development as a personal programming project.
    • For most systems, a majority of costs arise from changing software after it has been deployed.

    General Issues Impacting Software

    • Heterogeneity: Modern systems are increasingly distributed across networks with various types of computers and mobile devices. Building these systems requires considering component assembly from existing software and systems.
    • Incremental and Agile Development: Web-based systems are typically developed and delivered incrementally. It's impractical to define all requirements upfront for such systems.

    Web Software Engineering

    • Service-Oriented Systems: Software can be implemented using service-oriented software engineering, with independent web services as components.
    • Rich Interfaces: Technologies like AJAX and HTML5 have emerged to create rich interfaces within web browsers.

    Software Engineering Ethics

    • Software engineering goes beyond technical skills and involves broader responsibilities.
    • Software engineers must behave honestly and ethically to be respected as professionals.
    • Ethical behavior involves following principles that are morally correct, exceeding simply upholding the law.

    Professional Responsibility Issues

    • Confidentiality: Engineers should respect the confidentiality of their employers or clients, even without formal agreements.
    • Competence: Engineers should not misrepresent their skills and should not accept work outside their competence.
    • Intellectual Property Rights: Engineers must be aware of laws governing intellectual property (patents, copyrights) and protect the intellectual property of their employers and clients.
    • Computer Misuse: Software engineers should not misuse other people's computers using their technical skills.

    MentCare System Goals:

    • Generate management information to assess performance against local and government targets.
    • Provide medical staff with timely information to support patient treatment.

    Key Features of the MentCare System:

    • Individual Care Management: Clinicians can create, edit, and view patient records, access patient history, and utilize data summaries.
    • Patient Monitoring: The system tracks patient records and issues warnings if potential problems are detected.
    • Administrative Reporting: Monthly management reports are generated, including patient counts, treatment data, drug prescriptions and costs, etc.

    Concerns with the MentCare System:

    • Privacy: Patient information must remain confidential and accessible only to authorized staff and the patient.
    • Safety: Some mental illnesses may lead to suicidal behavior or danger to others. The system should alert medical staff about potentially suicidal or dangerous patients.
    • Availability: Continuous availability is critical for safety, as access to patient information and medication prescriptions might be compromised otherwise.

    Wilderness Weather Station:

    • The government of a country with extensive wilderness areas plans to deploy several hundred weather stations in remote locations.
    • These stations collect data from instruments measuring temperature, pressure, sunshine, rainfall, wind speed, and wind direction.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Ch1 Introduction.pptx

    Description

    This quiz covers the essential characteristics and activities of software engineering. Explore the differences between software engineering and computer science, and understand the key processes involved in software production, including specification, development, validation, and evolution. Perfect for students studying software engineering principles.

    More Like This

    Use Quizgecko on...
    Browser
    Browser