0% found this document useful (0 votes)
9 views16 pages

Se Mid Ii

The document outlines various concepts in software engineering, including differences between sequence and use case diagrams, collaboration diagrams for ATM machines, and the conceptual model of UML. It also discusses software testing types, such as system, recovery, stress, performance, acceptance, and security testing, along with their importance and objectives. Additionally, it covers risk management, ISO quality standards, and software quality metrics.

Uploaded by

reddysudeep196
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views16 pages

Se Mid Ii

The document outlines various concepts in software engineering, including differences between sequence and use case diagrams, collaboration diagrams for ATM machines, and the conceptual model of UML. It also discusses software testing types, such as system, recovery, stress, performance, acceptance, and security testing, along with their importance and objectives. Additionally, it covers risk management, ISO quality standards, and software quality metrics.

Uploaded by

reddysudeep196
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

UNIT – 3

1. Write the di erence between Sequence and Use case diagram?

6. Draw and Explain Collaboration diagram for ATM Machine?

9. Briefly explain Conceptual model of UML?

13. Explain basic symbols used in activity diagram.

UNIT – 4

2. Write the di erence between white box testing and black box testing with am example?

4. Explain the concept of software measurement and its importance in software engineering.

5. Write about

(a) System testing (b) Recovery testing

(c) Stress testing (d) Performance testing

(e) Accepting testing (f) Security testing

10. What do you mean by software testing?

11. Explain di erent software product metrics.

12. Explain about integration testing.

14. Briefly explain about

(a) Metrics for software quality

(b) Metrics for process and products

16. Briefly explain about debugging process with a neat diagram.

UNIT – 5

3. Elaborate about RMMM plan in software projects.

7. Explain about ISO: 9000 Quality Standards?

8. Briefly explain software reviews with formal technical reviews?

15. What is the need of Risk Management and explain various activities connected to Risk
Management?
UNIT – 3

1. Write the di erence between Sequence and Use case diagram?

Aspect Sequence Diagram Use Case Diagram

Definition A sequence diagram shows how A use case diagram represents


objects interact with each other in a the functional requirements of
particular scenario of a use case, a system. It shows actors (users
focusing on the time sequence of or other systems) and their
messages passed. interactions with the system
(use cases).

Purpose To model the flow of logic within a To capture the functional


system in chronological order (time aspects of a system, showing
sequence of messages). It’s used for what the system does rather
detailed design and analysis of system than how it does it. It’s used
behavior. during the requirements
gathering phase.

Focus Area Focuses on interactions between Focuses on system


objects or components over time functionality and the
(sequence of messages exchanged). relationship between actors
and use cases.

Elements - Lifelines (representing objects) - - Actors - Use Cases - System


Involved Activations - Messages Boundary - Relationships
(synchronous/asynchronous) - Return (includes, extends,
messages - Time axis generalization)

Representation It is a dynamic model showing step- It is a static model, representing


by-step interactions, often an overview of the system and its
represented in vertical (time) and use cases.
horizontal (objects) alignment.

Use in SDLC Used in design and implementation Used in requirement analysis


phases to understand object and gathering phase to define
interactions and message flow. the scope of the system.

Example Suppose a user logs into a website: - Suppose we are developing an


The user enters credentials. - The login online shopping system. Use
form sends data to the server. - The cases might include: - Login -
server checks credentials in the Search Products - Add to Cart -
database. - If valid, it returns a success Make PaymentActors would be: -
message.This can be shown as a Customer - Admin
sequence of messages exchanged
between objects (User → Login Page →
Server → Database).
Diagram Type One of the interaction diagrams One of the behavior diagrams
(others include communication, used in Unified Modeling
timing, and interaction overview Language (UML).
diagrams).

Direction of Follows a top-down time sequence Does not follow any time
Flow (from top to bottom showing when sequence. It shows the
messages are sent and received). association between actors
and use cases.

Tool Use - Visual Paradigm - StarUML - - Enterprise Architect -


Examples Lucidchart - Draw.io Lucidchart - StarUML - Microsoft
Visio
6. Draw and Explain Collaboration diagram for ATM Machine?

Collaboration Diagram for ATM Machine

A UML Collaboration Diagram (also called a Communication Diagram) models the interactions
between objects or actors in a system, focusing on their relationships and the flow of messages
needed to realize a particular use case—such as withdrawing cash from an ATM1236.

Key Elements of a Collaboration Diagram

 Objects/Actors: Represented as rectangles, such as Customer, ATM, Bank, and


Database.

 Links: Lines connecting the objects, indicating relationships and possible


communication.

 Messages: Arrows labeled with sequence numbers (e.g., 1, 2, 3...) to show the order of
interactions. Each message represents a method call or data exchange between
objects256.

Sample ATM Collaboration Diagram

Below is a typical scenario for withdrawing cash from an ATM:

text

Customer <----> ATM <----> Bank <----> Database

Interaction Steps (Withdraw Cash Use Case)

1. Customer inserts card

o Message: 1: insertCard()

2. ATM prompts for PIN

o Message: 2: promptForPIN()

3. Customer enters PIN

o Message: 3: enterPIN()

4. ATM sends PIN to Bank for verification

o Message: 4: verifyPIN(pin)

5. Bank checks PIN with Database

o Message: 5: checkPIN(pin)

6. Database returns verification result

o Message: 6: verificationResult()

7. ATM prompts for transaction type (e.g., withdrawal)

o Message: 7: selectTransaction(type)

8. Customer selects withdrawal and enters amount


o Message: 8: enterAmount(amount)

9. ATM requests withdrawal authorization from Bank

o Message: 9: authorizeWithdrawal(amount)

10. Bank checks balance with Database

o Message: 10: checkBalance()

11. Database returns balance

o Message: 11: returnBalance()

12. Bank authorizes or denies withdrawal

o Message: 12: authorize()

13. ATM dispenses cash if authorized

o Message: 13: dispenseCash()

14. ATM prints receipt and ends session

o Message: 14: printReceipt()

Each message is numbered to indicate the sequence, and arrows show the direction of
communication between objects

Explanation

 The Customer interacts with the ATM by inserting a card, entering a PIN, and selecting a
transaction.

 The ATM acts as an intermediary, sending the PIN and transaction details to the Bank for
validation and authorization.

 The Bank communicates with the Database to check the PIN and account balance.

 If the transaction is authorized, the ATM dispenses cash and updates the account
balance via the Bank and Database256.

Diagram Characteristics

 Collaboration diagrams emphasize the structural organization of objects and their links,
rather than the time sequence (which is the focus of sequence diagrams).

 The sequence of messages is shown by numbering each message arrow.

 Useful for visualizing how objects cooperate to perform a specific function in the
system, such as a cash withdrawal in an ATM126.
9. Briefly explain Conceptual model of UML?

https://www.geeksforgeeks.org/conceptual-model-of-the-unified-modeling-language-uml/

13. Explain basic symbols used in activity diagram.

https://www.geeksforgeeks.org/unified-modeling-language-uml-activity-diagrams/
UNIT – 4

2. Write the di erence between white box testing and black box testing with am example?

https://www.geeksforgeeks.org/di erences-between-black-box-testing-vs-white-box-testing/

4. Explain the concept of software measurement and its importance in software engineering.

https://www.geeksforgeeks.org/software-measurement-and-metrics/

5. Write about

(a) System testing (b) Recovery testing

(c) Stress testing (d) Performance testing

(e) Accepting testing (f) Security testing

(a) System Testing

System testing is a high-level testing phase where the complete and integrated software system
is tested as a whole. The purpose is to validate the end-to-end functionality of the system,
ensuring it behaves as expected under various conditions.

System testing is conducted after integration testing and before acceptance testing. It is a black-
box testing technique, which means the tester doesn't need to know the internal code or
structure of the application. The focus is on evaluating the system’s compliance with the
specified requirements.

Key objectives of system testing include:

 Verifying all modules work together properly.

 Checking the system’s functional and non-functional requirements.

 Ensuring the system meets quality standards and behaves correctly in di erent
scenarios.

System testing includes various sub-types like usability testing, regression testing, and
compatibility testing. It is crucial for identifying any defects that might have been missed in earlier
testing stages.

(b) Recovery Testing

Recovery testing checks how well a software application can recover from crashes, hardware
failures, network issues, or other unexpected problems. The main goal is to determine
whether the system can return to a normal state and recover lost data or resume operations after
a failure.

This type of testing involves:


 Forcing the system to fail or crash intentionally.

 Observing how quickly and e ectively it can recover.

 Verifying whether it can maintain data integrity and resume normal functionality.

Recovery testing is essential for applications where high availability and fault tolerance are
important, such as in banking, aviation, or healthcare systems. It also helps ensure that proper
backup and failover mechanisms are in place.

(c) Stress Testing

Stress testing is a type of performance testing that evaluates how the software behaves under
extreme conditions or beyond its normal operational limits. This includes excessive load, data
volume, or user tra ic to identify the system's breaking point.

The primary purpose of stress testing is to:

 Determine the stability and robustness of the system under heavy load.

 Identify memory leaks, bottlenecks, or failures that may occur under stress.

 Ensure the system fails gracefully and doesn't crash abruptly.

For example, in an e-commerce website, stress testing would check if the site can handle a large
number of users during a big sale or festival season. It helps organizations prepare for high-
demand scenarios and improves the system’s reliability.

(d) Performance Testing

Performance testing involves evaluating the speed, responsiveness, stability, and scalability
of a software application under a certain workload. The goal is to identify performance-related
issues before the software goes into production.

Key performance metrics include:

 Response time – how fast the system responds to user actions.

 Throughput – the number of transactions processed in a given time.

 Resource utilization – how much CPU, memory, disk, or network is used.

Types of performance testing include:

 Load testing (normal user load),

 Stress testing (extreme load),

 Soak testing (sustained load over time),

 Spike testing (sudden increase or decrease in load).

Performance testing is essential to ensure a smooth user experience and helps identify any
performance bottlenecks in the software architecture.
(e) Acceptance Testing

Acceptance testing is the final phase of software testing, conducted to determine whether the
software is ready for delivery to the end-users or customers. It validates the system against the
business requirements and ensures it meets the expectations of stakeholders.

There are two main types:

 Alpha Testing: Performed by internal sta before releasing the product to external users.

 Beta Testing: Conducted by a limited number of end-users in a real environment before


the full release.

Acceptance testing is usually carried out by the client or customer and is critical for ensuring
customer satisfaction. It verifies whether:

 All features work as intended.

 The system behaves correctly under real-world conditions.

 There are no major bugs or usability issues.

Successful acceptance testing leads to the formal acceptance of the product and its release into
production.

(f) Security Testing

Security testing focuses on identifying vulnerabilities, threats, and risks in a software


application to ensure data protection and system integrity. It is essential for any system that
stores sensitive information such as passwords, financial data, or personal user details.

Objectives of security testing include:

 Ensuring data is protected from unauthorized access.

 Verifying authentication and authorization mechanisms.

 Checking for vulnerabilities like SQL injection, XSS, CSRF, etc.

 Testing encryption, firewall rules, and data transmission security.

Security testing includes tools like penetration testing, vulnerability scanning, and ethical
hacking. It plays a vital role in protecting the software from cyberattacks and complying with
industry standards such as GDPR, HIPAA, or PCI-DSS.

Conclusion

Each type of testing mentioned plays a crucial role in delivering high-quality, robust, and secure
software systems. While system testing ensures overall functionality, recovery and stress testing
validate reliability under unexpected conditions. Performance testing guarantees e icient
operation, acceptance testing ensures client satisfaction, and security testing protects against
threats. Together, they form a comprehensive software testing strategy essential for any
successful software development lifecycle.

10. What do you mean by software testing?

https://www.geeksforgeeks.org/software-testing-basics/

11. Explain di erent software product metrics.

https://www.geeksforgeeks.org/product-metrics-in-software-engineering/

12. Explain about integration testing.

https://www.geeksforgeeks.org/software-engineering-integration-testing/

14. Briefly explain about

(a) Metrics for software quality

https://www.geeksforgeeks.org/measuring-software-quality-using-quality-metrics/

(b) Metrics for process and products

https://www.geeksforgeeks.org/product-metrics-in-software-engineering/

16. Briefly explain about debugging process with a neat diagram.

https://www.geeksforgeeks.org/software-engineering-debugging/
UNIT – 5

3. Elaborate about RMMM plan in software projects.

https://www.geeksforgeeks.org/risk-mitigation-monitoring-and-management-rmmm-plan/

7. Explain about ISO: 9000 Quality Standards?

https://www.geeksforgeeks.org/iso-9000-certification-in-software-engineering/

8. Briefly explain software reviews with formal technical reviews?

https://www.geeksforgeeks.org/formal-technical-review-ftr-in-software-engineering/

15. What is the need of Risk Management and explain various activities connected to Risk
Management?

https://www.geeksforgeeks.org/risk-management-software-engineering/
1. Di erentiate between a class diagram and an object diagram:
A class diagram in UML represents the static structure of a system, showing classes, their
attributes, methods, and the relationships between them.
An object diagram is a snapshot of a system at a particular moment, representing real instances
(objects) of classes and their links.
Class diagrams are used for design; object diagrams are used for system states.

2. Define acceptance testing and state who usually performs it:


Acceptance testing evaluates the system’s compliance with business requirements and verifies if it
is ready for delivery.
It is typically performed by the client, end-user, or customer to decide whether to accept the
product.

3. What is the di erence between testing and validation?


Testing is the process of finding bugs and verifying that the software performs as expected.
Validation ensures the system meets user requirements and fulfills its intended purpose.
Testing answers "Are we building the product right?"
Validation answers "Are we building the right product?"

4. What is risk management in software engineering?


Risk management involves identifying, analyzing, and addressing potential problems that may
a ect a project's success.
It includes planning for risk mitigation and handling uncertainties during development to minimize
their impact.

5. Define risk mitigation and give one example:


Risk mitigation is the process of developing strategies to reduce the impact or likelihood of
potential risks.
Example: Regular data backups mitigate the risk of data loss due to hardware failure or
cyberattacks.

6. What are the two main types of testing strategies?

o Black-box testing: Tests software functionality without knowing internal code.

o White-box testing: Tests internal logic, paths, and structure of the code.
These two strategies complement each other for thorough testing.
7. Write about ISO: 9126 quality factors:
ISO 9126 defines six major software quality characteristics:

o Functionality: Meets user needs.

o Reliability: Performs consistently under conditions.

o Usability: Easy to use.

o E iciency: Uses resources well.

o Maintainability: Easy to fix/update.

o Portability: Works in di erent environments.

8. What is the role of a quality management plan in software projects?


It defines how quality will be managed throughout the software lifecycle.
The plan includes quality objectives, assurance processes, control activities, and responsibilities.
It ensures that the final product meets defined quality standards.

9. What is the purpose of a test strategy?


A test strategy outlines the overall testing approach, tools, scope, testing types, and
responsibilities.
It ensures consistency and alignment across testing activities and supports the project’s goals.

10. Write the advantages of big bang approach:

 All components are integrated and tested at once.

 Simple and less planning needed.

 Useful when components are developed independently.


However, debugging is hard if the system fails.

11. How can process metrics help improve software development?


Process metrics measure development activities such as productivity, defect rates, and e ort.
Analyzing them helps identify bottlenecks, improve e iciency, and guide process improvement
e orts.

12. What is the importance of usability as a software quality metric?


Usability ensures users can easily learn, operate, and interact with the software.
High usability increases user satisfaction, reduces training cost, and improves overall user
experience.
13. What is the role of a 'component diagram' in UML?
A component diagram shows how software components are organized and connected in a system.
It focuses on the physical aspect of the system and is useful in implementation and deployment
phases.

14. What is cyclomatic complexity?


Cyclomatic complexity is a metric that measures the number of linearly independent paths in a
program.
Higher complexity indicates more testing is required and potentially lower maintainability.

15. What does the term "association" mean in a UML class diagram?
Association represents a relationship between two classes, such as a "works-for" or "owns"
relationship.
It shows how objects of one class interact or are related to objects of another class.

16. What is the purpose of an activity diagram in UML?


Activity diagrams represent workflows and processes in a system.
They show the sequence of actions, decisions, and parallel activities, helping model dynamic
behavior.

17. What types of errors will be found by black box testing?


Black box testing can detect:

 Incorrect/missing functions

 Interface errors

 Behavior or performance issues

 Errors in data handling or boundary conditions

18. What are risk identification, and what techniques can be used for it?
Risk identification is the process of determining potential risks in a project.
Techniques include brainstorming, expert interviews, checklists, SWOT analysis, and historical
data analysis.

19. Di erentiate verification and validation:

 Verification ensures the product was built correctly by checking design and specifications.

 Validation ensures the correct product was built by checking if it meets user needs.
Verification is process-focused; validation is product-focused.
20. Write the di erence between Reactive and Proactive risk strategies:

 Reactive: Deals with risks after they occur (e.g., applying patches post-failure).

 Proactive: Identifies and plans for risks before they happen (e.g., risk avoidance strategies).

21. What is regression testing?


Regression testing checks whether recent code changes have adversely a ected existing
functionality.
It helps ensure stability after updates, enhancements, or bug fixes.

22. Di erentiate between white-box testing and black-box testing:

 White-box: Tests internal code logic, structures, and paths.

 Black-box: Tests functionality without code knowledge.


White-box is code-focused; black-box is requirement-focused.

23. Write about Boundary Value Analysis:


It tests input values at their boundary limits (e.g., min, max, just inside/outside limits).
This technique helps identify edge-case errors often missed in normal testing.

24. What are the software quality factors?

 Functionality: Features meet needs

 Reliability: Performance over time

 Usability: Ease of use

 E iciency: Optimal resource use

 Maintainability: Easy updates

 Portability: Operates across environments

25. Importance of software maintainability as a product metric:


Maintainability ensures the ease with which a software product can be modified.
It a ects how quickly bugs can be fixed and new features added, reducing long-term costs.

26. Guidelines for quality assurance:

 Define clear quality standards

 Perform reviews and audits


 Use standardized development practices

 Continuously monitor and improve processes

27. Di erentiate between quality assurance and quality control:

 Quality Assurance (QA): Process-oriented; focuses on preventing defects.

 Quality Control (QC): Product-oriented; focuses on detecting defects.


QA = proactive, QC = reactive.

28. Write about Equivalence Principle:


It partitions input data into valid and invalid groups (equivalence classes).
Testing one value from each class ensures broad coverage with fewer test cases.

29. Write about Closure Principle:


In risk management, the closure principle ensures that once a risk is resolved, it's formally closed
and documented.
This prevents further unnecessary monitoring or resource usage.

30. Why are software metrics important?


Metrics provide measurable insights into code quality, team productivity, and project progress.
They help guide decision-making, process improvement, and ensure quality objectives are met.

You might also like