Software Engineering Chapter 1
15 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 software engineering concerned with?

  • Building automobiles
  • Designing hardware systems
  • Developing mobile applications
  • Theories, methods, and tools for professional software development (correct)
  • Define the term 'Software Costs'.

    Software costs often dominate computer system costs and can be more expensive to maintain than to develop.

    What fraction of software costs are development costs?

  • 80%
  • 60% (correct)
  • 20%
  • 40%
  • Software engineering is concerned only with the technical process of development.

    <p>False</p> Signup and view all the answers

    Good software should be ____________.

    <p>maintainable, dependable, and usable</p> Signup and view all the answers

    What are embedded control systems primarily responsible for?

    <p>Controlling and managing hardware devices</p> Signup and view all the answers

    Which of the following is an example of an application type that involves processing large batches of data?

    <p>Batch processing systems</p> Signup and view all the answers

    Web-based systems follow the same fundamental principles of software engineering as other types of systems.

    <p>True</p> Signup and view all the answers

    Software reuse is the dominant approach for constructing _ systems.

    <p>web-based</p> Signup and view all the answers

    Match the software engineering ethics issue with its description:

    <p>Confidentiality = Respecting employer/client confidentiality Competence = Not misrepresenting one's level of expertise Intellectual property rights = Being aware of patents and copyright laws Computer misuse = Not using technical skills to harm others</p> Signup and view all the answers

    What is the main purpose of Mentcare system?

    <p>To generate management information for health service managers</p> Signup and view all the answers

    The Mentcare system supports clinicians in creating records for patients and monitoring patient history.

    <p>True</p> Signup and view all the answers

    What are the concerns regarding patient information privacy in the Mentcare system?

    <p>confidential and disclosed to authorized medical staff and the patient</p> Signup and view all the answers

    What system must communicate with all wilderness weather stations to monitor their health?

    <p>station maintenance system</p> Signup and view all the answers

    Match the system architecture with its description:

    <p>iLearn service integration = Services offer an API for direct service-to-service communication Integrated services = Can be accessed through a browser interface and operate independently Weather station system = Collects weather data and transmits it to the data management system</p> Signup and view all the answers

    Study Notes

    Introduction to Software Engineering

    • Software engineering is an engineering discipline concerned with all aspects of software production, from system specification to maintenance.
    • It involves using theories, methods, and tools for professional software development.

    Importance of Software Engineering

    • Software engineering is essential because more and more systems are software-controlled, and software costs dominate computer system costs.
    • Expenditure on software represents a significant fraction of GNP in developed countries.
    • Software engineering is concerned with cost-effective software development and maintenance.

    Software Costs

    • Software costs often dominate computer system costs, and can be more expensive to maintain than to develop.
    • For systems with a long life, maintenance costs may be several times development costs.

    Software Project Failure

    • Increasing system complexity and failure to use software engineering methods can lead to project failure.
    • Many companies drift into software development without using software engineering methods, leading to more expensive and less reliable software.

    Professional Software Development

    • Professional software development involves using software engineering methods and techniques to develop and deliver software products.
    • It is concerned with the practicalities of developing and delivering useful software.

    Software Engineering Activities

    • Software engineering activities include software specification, development, validation, and evolution.
    • These activities involve a range of processes, including project management, tool development, and team management.

    Essential Attributes of Good Software

    • Good software should have attributes such as maintainability, dependability, efficiency, and acceptability.
    • These attributes are critical to ensure that software is reliable, efficient, and safe.

    Software Engineering Diversity

    • Software engineering involves many different types of software systems, and there is no universal set of techniques applicable to all.
    • The software engineering methods and tools used depend on the type of application being developed, customer requirements, and the development team's background.

    Application Types

    • Different types of software systems include stand-alone applications, interactive transaction-based applications, embedded control systems, batch processing systems, entertainment systems, systems for modeling and simulation, data collection systems, and systems of systems.

    Software Engineering Fundamentals

    • Fundamental principles apply to all types of software systems, including the use of a managed and understood development process, dependability and performance, and requirements management.

    Software Engineering Ethics

    • Software engineering involves wider responsibilities than just technical skills, including honesty, ethical behavior, and professional responsibility.
    • Software engineers should follow a set of principles that are morally correct and uphold the law.

    Issues of Professional Responsibility

    • Issues of professional responsibility include confidentiality, competence, intellectual property rights, and computer misuse.

    ACM/IEEE Code of Ethics

    • The ACM/IEEE Code of Ethics is a set of principles and guidelines for software engineering professionals.
    • It includes eight principles related to behavior and decision-making, including principles related to public, client and employer, product, judgment, management, profession, colleagues, and self.### Ethical Principles of Software Engineers
    • Software engineers shall act consistently with the public interest
    • Shall act in a manner that is in the best interests of their client and employer consistent with the public interest
    • Shall ensure that their products and related modifications meet the highest professional standards possible
    • Shall maintain integrity and independence in their professional judgment
    • Shall subscribe to and promote an ethical approach to the management of software development and maintenance
    • Shall advance the integrity and reputation of the profession consistent with the public interest
    • Shall be fair to and supportive of their colleagues
    • Shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession

    Ethical Dilemmas

    • Disagreement in principle with the policies of senior management
    • Employer acts in an unethical way and releases a safety-critical system without finishing the testing of the system
    • Participation in the development of military weapons systems or nuclear systems

    Case Studies

    Personal Insulin Pump

    • An embedded system in an insulin pump used by diabetics to maintain blood glucose control
    • Collects data from a blood sugar sensor and calculates the amount of insulin required to be injected
    • Calculation based on the rate of change of blood sugar levels
    • Sends signals to a micro-pump to deliver the correct dose of insulin
    • Safety-critical system as low blood sugars can lead to brain malfunctioning, coma, and death; high-blood sugar levels have long-term consequences such as eye and kidney damage

    Mentcare: A Patient Information System for Mental Health Care

    • A patient information system to support mental health care is a medical information system that maintains information about patients suffering from mental health problems and the treatments that they have received
    • Makes use of a centralized database of patient information but has also been designed to run on a PC, so that it may be accessed and used from sites that do not have secure network connectivity
    • Goals: to generate management information that allows health service managers to assess performance against local and government targets; to provide medical staff with timely information to support the treatment of patients
    • Key features: individual care management, patient monitoring, administrative reporting
    • Concerns: privacy, safety

    Wilderness Weather Station

    • A weather station system that collects data from a set of instruments that measure temperature and pressure, sunshine, rainfall, wind speed, and wind direction
    • Weather information system consists of: weather station system, data management and archiving system, station maintenance system
    • Additional software functionality: monitor the instruments, power and communication hardware and report faults to the management system; manage the system power; support dynamic reconfiguration

    iLearn: A Digital Learning Environment

    • A digital learning environment is a framework in which a set of general-purpose and specially designed tools for learning may be embedded plus a set of applications that are geared to the needs of the learners using the system
    • Service-oriented system with all system components considered to be a replaceable service
    • Services: utility services, application services, configuration services
    • Key points: software engineering is an engineering discipline that is concerned with all aspects of software production; essential software product attributes are maintainability, dependability and security, efficiency, and acceptability

    Studying That Suits You

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

    Quiz Team

    Description

    This quiz covers the introduction to software engineering, including its definition, ethics, and case studies. It is based on the first chapter of a software engineering book.

    More Like This

    Use Quizgecko on...
    Browser
    Browser