Question bank

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

1. What do you mean by Functional and non-functional requirement?

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.

Q3. Identify System stakeholders for a bank ATM

a) Current bank customers who receive services from the system


b) Representatives from other banks who have reciprocal agreements that allow each
other’s ATMs to be used
c) Managers of bank branches who obtain management information from the system
d) Counter staff at bank branches who are involved in the day-to-day running of the
system
e) Database administrators who are responsible for integrating the system with the bank’s
customer database
f) Bank security managers who must ensure that the system will not pose a security
hazard
g) The bank’s marketing department who are likely be interested in using the system as a
means of marketing the bank
h) Hardware and software maintenance engineers who are responsible for maintaining
and upgrading the hardware and software
i) National banking regulators who are responsible for ensuring that the system conforms
to banking regulations

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.

Q6. Define Data Flow Diagram

DATA FLOW DIAGRAM


• • A Data Flow Diagram (DFD) is a graphical representation of the "flow" of data through
an information system.
• • It is common practice to draw a System Context Diagram first which shows the
interaction between the system and outside entities.
• • The DFD is designed to show how a system is divided into smaller portions and to
highlight the flow of data between those parts.
• • Level 0 DFD i.e. Context level DFD should depict the system as a single.
• • Primary input and primary output should be carefully identified.
• • Information flow from continuity must be maintained from level to level

Q7. Differentiate between normal and exciting requirements.

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

Exciting Requirements are aspects which


the users do not expect. Often exciting
requirements involve innovation of the
business process or new ways of handling
functionality. Stakeholder satisfaction
with the application can be dramatically
improved through the implementation of a
few 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.

Different Software Testing Methods


Software testing is a process to evaluate the functionality, correctness, performance, and security of
a software application. It ensures the application meets specified requirements and is free of
defects. Testing methods are broadly classified into
 functional testing
 non-functional testing
1. Functional Testing
Functional testing verifies that the software performs its intended functions as specified in the
requirements. It focuses on "what the system does." Common functional testing methods include:

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.

3. Black-Box Testing-Testing without knowledge of the internal code or structure.


4. White-Box Testing-* Testing with knowledge of the internal code and structure. -
Different software testing methods address various aspects of quality, from verifying functionality to
ensuring performance and security. A combination of these methods is often used to ensure a
robust and defect-free software product.

Q 12. . Differentiate between cohesion and coupling

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.

Q14. . A startup is building a mobile application. Apply your understanding to compare


the Waterfall and Evolutionary models for this project. Which software development
model you will suggest for this project – Justify

You might also like