Question bank
Question bank
Question bank
Functional requirements:
These are statements of services the system should provide, how the system should react to
particular inputs and how the system should behave in particular situations. In some cases, the
functional requirements may also explicitly state what the system should not do.
Non-functional requirements
These are constraints on the services or functions offered by the system. They include timing
constraints, constraints on the development process and standards. Non-functional
requirements often apply to the system as a whole. They do not usually just apply to individual
system features or services.
2. What is requirement discovery
Requirements discovery:
Requirements discovery is the process of gathering information about the proposed and existing
systems and distilling the user and system requirements from this information.
Sources of information during the requirements discovery phase include
• • documentation,
• • System stakeholders and
• • Specifications of similar systems.
Interact with stakeholders through interviews and observation, and may use scenarios and
prototypes to help with the requirements discovery.
Stakeholders range from system end-users through managers and external stakeholders
such as regulators who certify the acceptability of the system.
Q4. Identify System stakeholders for the mental healthcare patient information system
include:
1. Patients whose information is recorded in the system.
2. Doctors who are responsible for assessing and treating patients.
3. Nurses who coordinate the consultations with doctors and administer some treatments.
4. Medical receptionists who manage patients’ appointments.
5. IT staff who are responsible for installing and maintaining the system.
6. A medical ethics manager who must ensure that the system meets current ethical guidelines for
patient care.
7. Healthcare managers who obtain management information from the system.
8. Medical records staff who are responsible for ensuring that system information can be
maintained and preserved, and that record keeping procedures have been properly implemented.
Q5. Discuss the use of Requirement reviews
Requirements reviews:
• A requirements review is a manual process that involves people from both client and
contractor organisations.
• They check the requirements document for anomalies and omissions. The review
process may be managed in the same way as program inspections.
• Alternatively, it may be organised as a broader activity with different people checking
different parts of the document.
• Requirements reviews can be informal or formal.
• Informal reviews simply involve contractors discussing requirements with as many
system stakeholders as possible. Many problems can be detected simply by talking about the
system to stakeholders before making a commitment to a formal review.
• In a formal requirements review, the development team should ‘walk’ the client
through the system requirements, explaining the implications of each requirement.
• The review team should check each requirement for consistency as well as check the
requirements as a whole for completeness.
Normal requirements
Normal Requirements are what the
stakeholders communicate during
traditional facilitated sessions or in
interviews. They cover the base
functionality of the application. These
requirement contribute proportionally to
customer satisfaction and expectations
Exciting requirements
Q8. Draw Data Flow diagrams for a Restaurant System. The activities of the Restaurant
system are listed below.
Receive the Customer food Orders. Produce the customer ordered foods, Serve the customer with
their ordered foods, Collect Payment from customers, Store customer payment details, Order Raw
Materials for food products, Pay for Raw Materials and Pay for Labour.
Q9. What is functional testing, and how does it differ from structural testing? Provide an overview
of its importance in software development.
Q10. What is integration testing, and how does it differ from unit testing? Why is it essential?
Q11. Discuss different software testing methods.
a. Unit Testing: Testing individual components or modules of the software. Example- Testing a
function that calculates the sum of two numbers.
b. Integration Testing: Testing the interaction between integrated modules. Example-Testing the
interaction between a login module and a dashboard.
c. System Testing: Testing the complete system as a whole. Example-Testing an e-commerce
website's order placement process.
d. Acceptance Testing- Testing conducted by the end-user or client to validate the software before
release.
2. Non-Functional Testing
Non-functional testing assesses the performance, usability, reliability, and scalability of the software.
It focuses on "how the system performs."
a. Performance Testing: Measures the responsiveness, speed, and stability of the software under
load. Ensure the software performs well under expected workloads.
-Types:
- Load testing: Testing under expected load.
- Stress testing: Testing beyond normal capacity.
- Endurance testing: Testing over a prolonged period.
b. Security Testing- Ensures the software is protected against unauthorized access, data breaches,
and vulnerabilities.
c. Usability Testing: Tests the user-friendliness of the software interface. Example: Testing the
navigation of a mobile banking app.
d. Compatibility Testing- Ensures the software works across different platforms, devices, and
operating systems. Ex-Testing a website across browsers like Chrome, Firefox, and Safari.
e. Reliability Testing-Tests the software's ability to perform consistently over time.
Q 13. Define Software Engineering and the its changing nature in today’s fast changing
technology.
At the first conference on software engineering in 1968, Fritz Bauer defined software engineering as
“The establishment and use of sound engineering principles in order to obtain economically
developed software that is reliable and works efficiently on real machines”. Stephen Schach defined
the same as “A discipline whose aim is the production of quality software, software that is delivered
on time, within budget, and that satisfies its requirements”. Both the definitions are popular and
acceptable to majority. However, due to increase in cost of maintaining software, objective
is now shifting to produce quality software that is maintainable, delivered on time, within budget,
and also satisfies its requirements.