Software Engineering Fundamentals Quiz
45 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 are the key characteristics that good software should possess?

  • Functionality and performance (correct)
  • Dependability and usability (correct)
  • Complexity and speed
  • Obscurity and maintenance
  • Which of the following is a primary focus of software engineering?

  • All aspects of software production (correct)
  • Hardware design principles
  • Mathematical algorithms and theories
  • Generic algorithm efficiency
  • What is a fundamental software engineering activity?

  • Software auditing
  • Software marketing
  • Software sales
  • Software specification (correct)
  • How does software engineering differ from computer science?

    <p>Software engineering is more concerned with practicalities</p> Signup and view all the answers

    Which challenges do software engineering face today?

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

    What proportion of software costs are typically attributed to development?

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

    What is primarily concerned with the professional development of software?

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

    What is a recommended practice for developing safety critical control systems?

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

    Which project type is best suited to a prototype-based development approach?

    <p>Video games</p> Signup and view all the answers

    Why do software costs often dominate computer system costs?

    <p>Software is more expensive to maintain than to develop.</p> Signup and view all the answers

    What can lead to software project failure?

    <p>Failure to use software engineering methods.</p> Signup and view all the answers

    Which of the following is considered a significant fraction of GNP in developed nations?

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

    What is a characteristic of good software?

    <p>It has comprehensive documentation.</p> Signup and view all the answers

    What has been a consequence of increasing system complexity in software engineering?

    <p>Software products have become less reliable.</p> Signup and view all the answers

    Which scenario illustrates a common misconception about software development?

    <p>Software development is straightforward and requires no training.</p> Signup and view all the answers

    What contributes to software being more expensive over time?

    <p>The necessity of regular updates.</p> Signup and view all the answers

    What does efficiency in software encompass?

    <p>Responsiveness, processing time, and memory utilisation</p> Signup and view all the answers

    What is meant by 'acceptability' in software design?

    <p>The software must be understandable, usable, and compatible</p> Signup and view all the answers

    Which of the following best describes the scope of software engineering?

    <p>All aspects of software production, including management and tools</p> Signup and view all the answers

    What is a key reason to adopt software engineering methods over personal programming projects?

    <p>To reduce the long-term costs of software changes</p> Signup and view all the answers

    Which activity comes first in the software process?

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

    What is meant by software evolution?

    <p>The ongoing modification of software to meet changing requirements</p> Signup and view all the answers

    Which issue is crucial for modern software systems operating in varied environments?

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

    Which of the following is NOT a software process activity?

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

    What is a primary characteristic of stand-alone applications?

    <p>They run on a local computer and include all necessary functionality.</p> Signup and view all the answers

    Which type of software system is most prevalent numerically?

    <p>Embedded control systems</p> Signup and view all the answers

    What determines the software engineering methods and tools used in development?

    <p>The application type, customer requirements, and development team background</p> Signup and view all the answers

    What type of software system processes large amounts of data in batches?

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

    What is a key issue that must be addressed in software development?

    <p>Security and trust in software applications</p> Signup and view all the answers

    What characterizes interactive transaction-based applications?

    <p>They rely on remote computers and user access from terminals.</p> Signup and view all the answers

    Which of the following application types is specifically designed to entertain users?

    <p>Entertainment systems</p> Signup and view all the answers

    How do emerging economies and new technologies affect software requirements?

    <p>They require rapid development and modification of existing software.</p> Signup and view all the answers

    What is the primary purpose of the ACM/IEEE Code of Ethics?

    <p>To promote beneficial practices in software engineering.</p> Signup and view all the answers

    Who are the intended signatories of the ACM/IEEE Code of Ethics?

    <p>Members of professional societies in the US.</p> Signup and view all the answers

    How many principles are outlined in the ACM/IEEE Code of Ethics?

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

    What should software engineers commit themselves to according to the code?

    <p>Ensuring their work benefits society.</p> Signup and view all the answers

    What is a potential consequence of the roles held by software engineers?

    <p>They have opportunities to enable good or cause harm.</p> Signup and view all the answers

    What aspect is emphasized by the Preamble of the ACM/IEEE Code of Ethics?

    <p>The balance between aspirations and practical details.</p> Signup and view all the answers

    Which groups are included in the scope of the Code of Ethics?

    <p>Educators and policy makers.</p> Signup and view all the answers

    What can be inferred about the role of software engineers in society?

    <p>They are crucial in the development of ethical software practices.</p> Signup and view all the answers

    Which principle emphasizes the importance of acting in the best interests of clients while considering public interest?

    <p>Client and Employer</p> Signup and view all the answers

    Which principle focuses on the integrity and independence of decision-making?

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

    What does the principle focused on colleagues emphasize?

    <p>Acting fairly and supportively towards peers</p> Signup and view all the answers

    In which situation would software engineers encounter an ethical dilemma regarding their principles?

    <p>When their employer releases a safety-critical system without adequate testing</p> Signup and view all the answers

    Which principle pertains to the promotion of ethical management practices in software development?

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

    Study Notes

    Introduction to Software & Software Engineering

    • Software engineering is a discipline concerned with theories, methods, and tools for professional software development.
    • Developed nations' economies depend on software.
    • Expenditure on software is a significant portion of GNP in developed countries.
    • Software costs often exceed hardware costs.
    • Maintenance costs are often several times development costs.
    • Software engineering aims for cost-effective development.

    Topics Covered

    • Software & Software Engineering
    • Software engineering ethics

    Software Project Failure

    • Increasing system complexity leads to changing demands for larger, more complex systems, requiring faster delivery.
    • Failure to use software engineering methods results in higher costs and reduced reliability.

    Software Costs

    • Software costs often dominate computer system costs.
    • Software is more costly to maintain than to develop, especially for long-life systems.

    Software Products

    • Generic products: Standalone systems sold to customers (e.g., PC software, CAD tools, dentist appointments).
    • Customized products: Commissioned to meet specific customer needs (e.g., embedded control systems, air traffic control software).

    Product Specification

    • Generic products: Software developers own the specification and make decisions on changes.
    • Customized products: Customers own the specification and make decisions on software changes.

    Essential Attributes of Good Software

    • Maintainability: Ability to adapt to changing customer needs.
    • Dependability and security: Reliability, safety, and preventing malicious access.
    • Efficiency: Optimal use of system resources (memory, processing time).
    • Acceptability: Understandable, usable, and compatible with existing systems.

    Software Engineering

    • An engineering discipline encompassing all aspects of software production, from initial specification to ongoing maintenance.
    • Using appropriate theories and methods to solve problems while considering organizational and financial constraints.
    • Encompasses all aspects from development to project management, tools, and methods.

    Importance of Software Engineering

    • Growing reliance on software necessitates producing reliable systems efficiently.
    • Using software engineering techniques is usually cheaper in the long term than creating systems without formalized methods.

    Software Process Activities

    • Software specification: Defining the software and its operating constraints based on customer requirements.
    • Software development: Designing and programming the software.
    • Software validation: Checking software to ensure it meets customer requirements.
    • Software evolution: Modifying software to meet changing needs.

    General Issues Affecting Software

    • Heterogeneity: Systems operate across diverse networks of different computer and mobile devices.
    • Business and social change: Rapid changes in business and new technologies require adaptive software and rapid development.
    • Security and trust: Software needs to be trustworthy in vital applications.
    • Scale: Software must be adaptable from small embedded systems to global, cloud-based systems.

    Software Engineering Diversity

    • Diverse system types require varying techniques and tools.
    • Method selection depends on factors like application type, customer needs, and development team expertise.

    Internet Software Engineering

    • Web platform dominance for applications.
    • Web services allow accessing application functionality across the web
    • Cloud computing provides computer services; software is accessed and used based on need.

    Web-based Software Engineering

    • Complex distributed systems but applicable principles for software engineering still apply.
    • Fundamental ideas, applicable to all software types.

    Web Software Engineering Continues

    • Software reuse: Assembling systems and components from pre-existing software.
    • Incremental/agile development: Continuously developing and delivering software based on dynamic requirements.
    • Service-oriented systems: Implemented using separate web services.
    • Rich interfaces: Technologies like AJAX & HTML5 support rich interfaces.

    Software Engineering Ethics

    • Wider responsibilities than just technical skills; software engineers must be honest and ethically responsible.
    • Ethical behavior is about upholding moral principles.

    Issues of Professional Responsibility

    • Confidentiality: Respecting client and employer confidentiality.
    • Competence: Not misrepresenting skills or accepting work outside one's capabilities.
    • Intellectual property rights: Following laws; protecting intellectual property.
    • Computer misuse: Avoiding unauthorized use or damaging computer systems.

    ACM/IEEE Code of Ethics

    • Professional societies (ACM/IEEE) promote ethical codes for developers, educators, managers, and others.

    Rationale for the Code of Ethics

    • Importance of software in diverse fields and potential for harm; software engineers need to do good.
    • Software engineers need to act ethically to ensure ethical use.

    The ACM/IEEE Code of Ethics

    • Summary, details, and principles.
    • Professional standards and ethical principles.

    Ethical Principles

    • Public interest
    • Client and employer
    • Product
    • Judgement
    • Management
    • Profession
    • Colleagues
    • Self

    Ethical Dilemmas

    • Disagreement with senior management policies.
    • Unethical employer actions and releasing faulty systems.
    • Participation in military or nuclear weapons systems development.

    Application Types

    • Stand-alone
    • Interactive transaction-based
    • Embedded control systems
    • Batch processing
    • Entertainment
    • Systems for modeling and simulation
    • Data collection
    • Systems of systems

    Software Engineering Fundamentals

    • Systems developed with a managed, understood process.
    • Dependability and performance are crucial.
    • Understanding and managing specifications.
    • Reuse existing software components wherever possible.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Test your knowledge on the key principles of software engineering. This quiz covers various aspects such as characteristics of good software, differences from computer science, and common practices in the field. Challenge your understanding and see how well you know the industry essentials!

    More Like This

    Use Quizgecko on...
    Browser
    Browser