WorksheetsSFEN2001 Mid_Term Supplement
Total questions: 35
Worksheet time: 20mins
A local government office launches a new property management system. It frequently crashes when multiple users access it simultaneously. Which key software quality attribute is being violated?
Portability
Reliability
Maintainability
Usability
A software engineer insists on documenting every function and its purpose before writing code. This reflects which of the following?
Ad-hoc programming
Agile iteration
engineering discipline
Intuition-based coding
A team of developers adopts a practice of continuous integration and delivery to ensure that their software is always in a releasable state. This approach is indicative of which software development methodology?
Spiral
V-Model
Agile
Waterfall
A mobile application frequently experiences slow performance and delays in response time when under heavy load. Which software quality attribute is primarily affected?
Security
Interoperability
Performance
Scalability
A software project manager emphasizes the importance of code reviews and pair programming to enhance code quality. This practice is an example of which principle?
Code Reusability
Modularity
Collaboration
Documentation
Which statement best distinguishes software engineering from computer science?
Computer science focuses on managing teams.
Software engineering applies systematic processes to build software that meets user needs.
Software engineering focuses on theoretical algorithms.
There is no difference; both involve programming.
Which of the following best describes a software process model?
A programming language used for design
A framework describing the sequence of development activities
A tool for automated testing
A set of database schemas
A start-up is developing a ride-sharing app. To save time, the developers skip code reviews. Later, several security flaws are discovered. Which principle of software engineering was ignored?
Simplicity
Team collaboration
Quality assurance
User-centered design
Which of the following are typical responsibilities of a software engineer? (Select two)
Debugging and maintenance
Legal regulation of IT services
Requirement analysis
Server installation
Which of these best represents a systematic approach in software development?
Writing code directly based on customer conversations
Prototyping and user feedback cycles before implementation
Making design decisions based on intuition
Outsourcing development to save cost
Which of the following best explains the term legacy system?
A system that uses only open-source software
An outdated but critical system that still operates within an organization
A newly deployed system with modern interfaces
A prototype system under evaluation
A team building a financial application is required to log all design decisions and testing outcomes for later audits. This is an example of which principle?
Traceability
Flexibility
Automation
Optimization
According to the IEEE definition, software engineering emphasizes:
Random testing and prototyping
The systematic application of scientific and mathematical principles
Informal communication between stakeholders
Use of proprietary programming tools
. A regional bank’s mobile banking app, developed five years ago, begins to struggle after the introduction of new smartphone operating systems and cybersecurity regulations. The IT department plans to upgrade the app to integrate bio-metric login, connect with a new national payment gateway, and improve security compliance.
Which of the following are valid reasons for software evolution in this scenario?
(Select all that apply.)
The software must be adapted to meet the needs of new computing environments and technologies.
The software must be abandoned because it has reached the end of its original design cycle.
The software must be enhanced to implement new business requirements, such as bio-metric login.
The software must be extended to ensure interoperability with modern systems and databases.
A government agency is developing a large-scale online tax filing system. Midway through the project, the schedule falls behind by two months. The project manager decides to hire 10 additional programmers to “speed things up” and believes that since the new team will follow all documented standards, progress will immediately improve.
Which misconceptions are illustrated in this situation?
(Select all that apply.)
Adding more programmers to a delayed project will help meet the deadline.
Following documented standards guarantees software success.
New developers need time to learn about the project before becoming productive.
Increasing team size increases coordination overhead and may delay progress.
Outsourcing would automatically solve project management challenges.
An e-commerce website slows down during seasonal sales. To address this, the developers deploy multiple servers to balance user traffic. This demonstrates improvement in:
Portability
Maintainability
Performance
Scalability
A hospital’s IT department begins developing an electronic health records (EHR) system after a short initial meeting with doctors. They expect detailed medical requirements to “emerge later” during testing. The users also believe they can add new data fields anytime after deployment with no added cost.
Which user myths are being demonstrated here?
(Select all that apply.)
A brief set of initial requirements is sufficient to begin development.
Requirements can be added at any time without significant rework.
Requirement changes introduced early are cheaper to manage.
Software development can succeed without clear specifications.
Adding late requirements always improves system flexibility.
A university’s student registration system must handle 10,000 simultaneous users during registration week. What type of requirement does this represent?
Functional requirement
Non-functional requirement (performance)
Security constraint
Process requirement
In software deployment, the term “rollback” refers to:
Returning to a previous software version after a failed update
Removing users from the system
Restarting the deployment pipeline
Upgrading to the latest release
A mobile app development team declares their project complete once the code is delivered to the client. They skip documentation to “save time,” arguing that writing code is the only real engineering work. Months later, the client struggles to use and maintain the system.
Which developer myths are illustrated in this case?
(Select all that apply.)
Software development ends once the code is delivered.
Documentation is essential for long-term quality and maintainability.
Software engineering adds unnecessary documentation overhead.
Maintenance and support are critical parts of the software lifecycle.
Software quality can only be judged after the program executes.
During a software project, a team decides to implement automated testing to catch bugs early in the development cycle. This practice is an example of which principle?
Documentation
Quality assurance
Code optimization
Agile methodology
A company is transitioning from a monolithic architecture to microservices to improve scalability and maintainability. What type of software design principle is this an example of?
Separation of concerns
Code reusability
Encapsulation
Modularity
A software application is designed to handle sensitive user data and must comply with regulations like GDPR. This requirement is primarily related to which software quality attribute?
Usability
Performance
Security
Scalability
A software company is hired to build a university transcript automation system. The project has clearly defined requirements, strict documentation policies, and a six-month completion timeline. The client demands a detailed plan and sign-off before any coding begins. Midway through the project, new regulations require changes to the grading structure, but the project manager insists the team must finish the design first before revising requirements.
Which statements correctly describe this situation?
(Select all that apply.)
The project is following a Waterfall approach where each phase must be completed before moving to the next.
The approach is highly flexible, allowing quick adaptation to new requirements.
Testing is performed iteratively after each small module is coded.
The method emphasizes extensive upfront planning and fixed requirements.
The methodology is ideal for projects where requirements evolve frequently.
A development team in different time zones uses version control to manage source code. This primarily supports:
Continuous delivery
Collaborative development
Regression testing
Software modelling
A medical device company is developing firmware for a digital heart monitor. Every design document must have a corresponding test plan: system tests are designed from system specifications, and user acceptance testing will ensure regulatory compliance before release. However, when a new requirement for wireless data transmission emerges mid-project, the team finds it nearly impossible to incorporate without starting over.
Which statements correctly describe this situation?
(Select all that apply.)
The project is following the V-Model, where each development phase has a corresponding testing phase.
Testing is treated as a separate activity that begins only after all coding is completed.
The model ensures high quality and early defect detection through parallel testing.
The team is facing challenges because the V-Model is rigid and not easily adaptable to changing requirements.
This approach is most suitable for projects with frequent requirement changes and minimal documentation.
A large retail company adopts Scrum to develop its online inventory system. The team conducts daily stand-ups, encourages face-to-face communication between developers and business stakeholders, and holds retrospectives at the end of each Sprint to improve their process.
Which Agile principles are being practiced here?
(Select all that apply.)
Business people and developers must work together daily throughout the project.
The most efficient communication method is face-to-face conversation.
Teams should reflect regularly to improve their effectiveness.
Comprehensive documentation is more valuable than working software.
Team members should work independently with minimal collaboration.
A startup is developing a mobile health-tracking app that integrates fitness data and nutrition recommendations. The team quickly builds a clickable mockup using Figma to test different dashboard layouts and get early user feedback. Users love the mockup and begin assuming the app will be released soon. The team, however, plans to discard the mockup code and rebuild the actual product later using a stable framework.
Which statements correctly describe this situation?
(Select all that apply.)
The team is using the Prototyping methodology to refine requirements and validate design concepts.
This is an example of a throwaway prototype, created for learning and later discarded.
Users are demonstrating one of the risks of prototyping by mistaking the prototype for a near-final product.
The team is following a fully evolutionary prototyping approach, gradually refining the mockup into the final app.
The prototype was built for speed and feedback, not for long-term scalability or code reuse.
A fintech startup is developing a mobile app for digital payments. The Product Owner meets with users weekly to gather feedback, and the team delivers a new working version every two weeks. During one Sprint, users request a late change in the transaction interface, and the team decides to implement it in the next release.
Which of the following Agile principles are being demonstrated in this scenario?
(Select all that apply.)
Customer collaboration over contract negotiation.
Working software as the primary measure of progress.
Responding to change over following a plan.
Emphasis on comprehensive documentation before coding.
Strict adherence to original requirements to prevent rework.
Which of the following is not represented in a Data Flow Diagram?
External entity
Data store
Program algorithm
Data process
A large e-commerce company struggles with delayed releases and frequent production outages. Developers blame the Operations team for “slow deployments,” while Operations blames Development for “unstable code.” To solve this, management introduces automated CI/CD pipelines, shared dashboards for monitoring, and blameless post-incident reviews.
Which principles or practices in this scenario reflect a DevOps approach?
(Select all that apply.)
Breaking down silos between Development and Operations through collaboration.
Continuing to maintain separate Development and Operations teams with minimal communication.
Implementing Continuous Integration and Continuous Delivery (CI/CD) to automate deployment.
Restricting Operations from monitoring production systems.
Delaying testing until after deployment to production.
Which of the following best describes the concept of technical debt in software development?
Investing in new technology without proper planning
Excessive reliance on third-party libraries
Shortcuts taken in code that may require refactoring later
Documentation that is outdated or missing
What is the primary purpose of using a version control system in software development?
To manage project budgets
To automate deployment processes
To track changes in source code
To enhance user interface design
In the context of software testing, what does the term unit test refer to?
Testing the performance under load
Testing the user interface for usability
Testing individual components or functions
Testing the entire application as a whole
Which of the following best describes the role of a scrum master in an Agile team?
To manage the project budget and resources.
To define the technical architecture of the project.
To facilitate communication and remove obstacles for the team.
To write and maintain the project documentation.
