Free Master of Software Engineering Questions and Answers — Questions and Answers
Question 1: What is meant by "software"?
- documentation and configuration of data
- set of programs, documentation & configuration of data (Correct answer)
- set of programs
- None of the mentioned
Correct 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.
Question 2: What exactly is software engineering?
- Application of engineering principles to the design a software (Correct answer)
- Testing a software
- Designing a software
- None of the above
Correct 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.
Question 3: Who founded software engineering?
- Boris Beizer
- Alan Turing
- Watts S. Humphrey (Correct answer)
- Margaret Hamilton
Correct 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.
Question 4: What characteristics does software code have?
- Modularity (Correct answer)
- Simplicity
- Accessibility
- All of the above
Correct 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.
Question 5: A software development activity that is not included in software procedures is .
- Dependence (Correct answer)
- Development
- Specification
- Validation
Correct 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.
Question 6: Define the Agile Scrum technique.
- project management that emphasizes no progress
- project management that emphasizes neutral progress
- project management that emphasizes decremental progress
- project management that emphasizes incremental progress (Correct answer)
Correct 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.
Question 7: CASE is short for
- Control Aided Science and Engineering
- Cost Aided System Experiments
- Computer-Aided Software Engineering (Correct answer)
- None of the mentioned
Correct 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.
Question 8: The process of conducting analysis and creating documents is known as ?
- Science and engineering
- Software re-engineering
- Re-engineering
- Reverse engineering (Correct answer)
Correct 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.
Question 9: The activity that allocates expected effort to particular software development activities over the course of the anticipated project term is .
- Detailed schedule
- Macroscopic schedule
- Project scheduling (Correct answer)
- None of the mentioned
Correct 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.
Question 10: What exactly is a functional requirement?
- specifies the tasks the program must not work
- specifies the tasks the program should not complete
- specifies the tasks the program must complete (Correct answer)
- All of the mentioned
Correct 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.
Question 11: Why do software errors and bugs happen?
- Because of both companies and Developers (Correct answer)
- Because of Developers
- Because of companies
- None of the mentioned
Correct 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.
Question 12: Good software has the following characteristics.
- Maintainability
- Functionality
- Maintainability & functionality (Correct answer)
- Development
Correct 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.
Question 13: By _________, the Cleanroom philosophy was first put forward.
- Mills
- Dyer
- Linger
- All of the Mentioned (Correct answer)
Correct 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.
Question 14: What exactly does SDLC mean?
- System Development Life cycle
- System Design Life Cycle
- Software Design Life Cycle
- Software Development Life Cycle (Correct answer)
Correct 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.
Question 15: Who came up with the spiral model?
- IBM
- Royce
- Pressman
- Barry Boehm (Correct answer)
Correct 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.
Question 16: The eight principles upheld by the Software Code of Ethics and Professional Practice do not include .
- PROFESSION
- PUBLIC
- ENVIRONMENT (Correct answer)
- PRODUCT
Correct 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.
What is meant by "software"?