โ† All ME or MEng Master of Engineering Flashcard Decks

Master of Software Engineering Flashcards

16 cards from real ME or MEng Master of Engineering practice questions. Tap to flip, then mark Knew It or Still Learning โ€” missed cards come back until you master them.

Read the first 16 Master of Software Engineering flashcards as text
  1. What is meant by "software"?

    Answer: set of programs, documentation & configuration of data

    Software is a comprehensive term that encompasses more than just executable programs. It includes the set of instructions (programs or code), all associated documentation (user manuals, design specifications, test plans), and configuration data (settings, parameters, databases) necessary for the software to operate correctly and be maintained. All these components are essential for a complete and functional software system.

  2. What exactly is software engineering?

    Answer: Application of engineering principles to the design a software

    Software engineering is a systematic and disciplined approach to the development, operation, and maintenance of software. It involves applying established engineering principles, methods, and tools to all phases of the software lifecycle. This ensures that software is developed efficiently, reliably, and to a high standard of quality, much like traditional engineering disciplines.

  3. Who founded software engineering?

    Answer: Watts S. Humphrey

    Watts S. Humphrey is widely recognized as a foundational figure in software engineering, particularly for his contributions to software process improvement and quality. He developed the Capability Maturity Model (CMM) and the Personal Software Process (PSP) and Team Software Process (TSP) at the Software Engineering Institute (SEI), significantly shaping the discipline. While others like Alan Turing and Margaret Hamilton made immense contributions to computing, Humphrey's work specifically focused on the engineering aspects of software development.

  4. What characteristics does software code have?

    Answer: Modularity

    Modularity is a crucial characteristic of well-designed software code. It involves breaking down a complex system into smaller, independent, and interchangeable components or modules. This approach enhances code reusability, simplifies maintenance, facilitates testing, and improves overall understanding and manageability of the software system.

  5. A software development activity that is not included in software procedures is .

    Answer: Dependence

    Software procedures, or the software development lifecycle, typically include core activities such as specification (defining requirements), design, development (coding), validation (testing), and evolution (maintenance). 'Dependence' describes a relationship between tasks or components, indicating that one relies on another, but it is not an activity or phase within the software development process itself.

  6. Define the Agile Scrum technique.

    Answer: project management that emphasizes incremental progress

    Agile Scrum is an iterative and incremental project management framework commonly used for software development. It emphasizes delivering working software in short, fixed-length iterations called sprints, typically lasting 1-4 weeks. This approach focuses on continuous feedback, adaptation to changing requirements, and the incremental delivery of functional features, promoting flexibility and responsiveness.

  7. CASE is short for

    Answer: Computer-Aided Software Engineering

    CASE stands for Computer-Aided Software Engineering. CASE tools are software applications designed to automate and support various activities throughout the software development lifecycle, from requirements analysis and design to coding, testing, and project management. They aim to improve productivity, quality, and consistency in software development processes.

  8. The process of conducting analysis and creating documents is known as ?

    Answer: Reverse engineering

    Reverse engineering is the process of analyzing an existing system or software to understand its design, architecture, components, and functionality, often to create documentation or a higher-level abstraction of it. This process involves working backward from the final product to deduce its original design specifications. It is distinct from re-engineering, which involves modifying or restructuring an existing system.

  9. The activity that allocates expected effort to particular software development activities over the course of the anticipated project term is .

    Answer: Project scheduling

    Project scheduling is the activity of defining tasks, estimating their duration, identifying dependencies, and allocating resources to create a timeline for project completion. In software development, this involves assigning estimated effort to specific development activities over the anticipated project duration. It is crucial for managing timelines, resources, and tracking progress.

  10. What exactly is a functional requirement?

    Answer: specifies the tasks the program must complete

    A functional requirement specifies what the software system *must do*. These requirements describe the functions, behaviors, and services that the system should provide to its users. They detail the specific tasks, calculations, data manipulations, and other features that the software is expected to perform to meet user needs.

  11. Why do software errors and bugs happen?

    Answer: Because of both companies and Developers

    Software errors and bugs are often a result of issues stemming from both developers and the companies they work for. Developers can introduce bugs through coding mistakes, design flaws, or misinterpretations of requirements. Companies contribute through factors like unrealistic deadlines, poor project management, insufficient resources, inadequate testing processes, or unclear communication, all of which can lead to defects in the final product.

  12. Good software has the following characteristics.

    Answer: Maintainability & functionality

    Good software possesses several key characteristics, with functionality and maintainability being paramount. Functionality ensures the software performs all its intended tasks correctly and completely. Maintainability refers to the ease with which the software can be modified, corrected, adapted, or enhanced after deployment, which is crucial for its long-term viability and cost-effectiveness.

  13. By _________, the Cleanroom philosophy was first put forward.

    Answer: All of the Mentioned

    The Cleanroom software development philosophy was a collaborative effort developed at IBM in the 1980s. Harlan Mills, Michael Dyer, and Richard Linger were the key figures who conceptualized and formalized this approach. Therefore, all three individuals mentioned were instrumental in putting forward the Cleanroom philosophy.

  14. What exactly does SDLC mean?

    Answer: Software Development Life Cycle

    SDLC is an acronym that stands for Software Development Life Cycle. It represents a structured process that outlines the stages involved in the development of a software system, from initial planning and analysis to deployment and maintenance. This systematic approach ensures the quality and efficiency of software projects.

  15. Who came up with the spiral model?

    Answer: Barry Boehm

    The spiral model, a risk-driven software development process model, was introduced by Barry Boehm in 1986. This model combines elements of both waterfall and iterative development, emphasizing risk analysis at each stage. It is particularly well-suited for large, complex, and high-risk projects.

  16. The eight principles upheld by the Software Code of Ethics and Professional Practice do not include .

    Answer: ENVIRONMENT

    The IEEE-CS/ACM Software Engineering Code of Ethics and Professional Practice outlines eight core principles for software engineers. These principles are Public, Client and Employer, Product, Judgment, Management, Profession, Colleagues, and Self. 'Environment' is not one of the explicitly stated eight principles in this code.