Professional Documents
Culture Documents
1a)
- The company relies on a complex algorithm, and I have already modified that algorithm
four-time due to marketing pressure
- And there is every chance that the algorithm may need to be changed on regular basis due
to such marketing pressures.
Que.) What pattern would best support the above scenario? Justify your answer.
For this kind of change, you need to change repeatedly the algorithm every time so for
that type of scenario you need to use the WaterFall Model Pattern use to do this kind of
development.
Waterfall Model:
- The Waterfall Model was the first Process Model to be introduced. It is also referred to as a
linear sequential life cycle model. It is very simple to understand and use. In a waterfall model,
each phase must be completed before the next phase can begin and there is no overlapping in
the Phases.
- The waterfall model is the earliest SDLC approach that was used for software development.
The waterfall Model illustrates the software development process in a linear sequential flow;
hence it is also referred to as a linear-sequential life cycle model. This means that any phase in
the development process begins only if the previous phase is complete. In the waterfall model
phases do not overlap.
- After analyzing systems and their full requirements if there is a need of changing the
requirements then you just change according to requirement and continue the
development, we choose to make the system on the waterfall software process model.
1b)
PART 1.
Answer:
Here as it is given that a user can open exactly one account in the Bank to make the
transaction and hence the "Singleton design pattern" will be used here to make this
requirements possible.
This design pattern is useful here as it will restrict the user to open exactly one account in the
Bank to make the transaction
Note:
"A singleton design pattern is a software design pattern that restricts the user to create
only one object of the class or the user will be allowed to instantiate the class only
once."
PART 2.
Answer:
UML Diagram:
Description:
● Here we have first discussed about the design pattern with explanation and then
we have designed the required UML diagram with description.
● I hope this solution will help you, if need more help, then feel free to ask me in
comment section.
● Also please rate the solution if it is found to be helpful to you:)
2A)
2)By testing earlier you will be able to detect and solve defects rather than having to resolve
them at the end of the process. The later software bugs are detected, the longer and more
expensive they are to resolve
2B)
RUWA
To better understand insurance concepts, consider a simple example. Assume that no health
insurance exists and you face only two medical outcomes in the coming year: Outcome
Probability Cost Stay healthy 0.99 $ 0 Get sick 0.01 20,000 Furthermore, assume that everyone
else faces the same medical outcomes at the same odds and with the same associated costs.
What is your expected healthcare cost—E(Cost)—for the coming year? To find the answer, we
multiply the cost of each outcome by its probability of occurrence and then sum the products:
E(Cost) = (Probability of outcome 1 × Cost of outcome 1) + (Probability of outcome 2 × Cost of
outcome 2) = (0.99 × $0) + (0.01 × $20,000) = $0 + $200 = $200
3A)
3B)
Continuous deployment goes one step further than continuous delivery. With this practice, every
change that passes all stages of your production pipeline is released to your customers. There's
no human intervention, and only a failed test will prevent a new change to be deployed to
production.
3C)
Re-engineering is usually used to update the functionality of a product whereas reverse
engineering is mostly used to peep into the working of the product and what goes into the
making.
Software reuse is the process of implementing or updating software systems using existing
software assets. A good software reuse process facilitates the increase of productivity, quality,
and reliability, and the decrease of costs and implementation time.
2019
1D)
Aggregation
Composition
Generalization
Generalization:
Composition:
2C)
Six Sigma is the process of producing high and improved quality output. This can be done in
two phases – identification and elimination. The cause of defects is identified and appropriate
elimination is done which reduces variation in whole processes.
Six Sigma is the process of producing high and improved quality output. This can be done in
two phases – identification and elimination. The cause of defects is identified and appropriate
elimination is done which reduces variation in whole processes. A six sigma method is one in
which 99.99966% of all the products to be produced have the same features and are of free
from defects.
3A)
What is Test Coverage? Test coverage is defined as a technique which determines whether our
test cases are actually covering the application code and how much code is exercised when we
run those test cases. If there are 10 requirements and 100 tests created and if 90 tests are
executed then test coverage is 90%
We can not perform 100% testing on any application. but the criteria to ensure test completion
on a project is 1. all the test cases are executed with the certain percentage of pass.
3B)
Cyclomatic complexity (CYC) is a software metric used to determine the complexity of a
program. It is a count of the number of decisions in the source code. The higher the count, the
more complex the code
Lower the Program's cyclomatic complexity, lower the risk to modify and easier to understand. It
can be represented using the below formula:
where,
The following steps should be followed for computing Cyclomatic complexity and test cases
design.
Step 1 – Construction of graph with nodes and edges from the code
3c)
Quality engineering is the discipline of engineering concerned with the principles and practice of
product and service quality assurance and control. In software development, it is the
management, development, operation and maintenance of IT systems and enterprise
architectures with a high quality standard.
4a)
Black box testing is a software testing methodology in which the tester analyzes the functionality
of an application without a thorough knowledge of its internal design. Conversely, in white box
testing, the tester is knowledgeable of the internal design of the application and analyzes it
during testing
5A)
i) Load testing we can perform in this case. It generally based on capacity analysis.
Performance Tuning is a superset of Load testing in other way. In load testing, we test the
response of a system varying the load conditions by simulating large number of user, who will
be accessing the application concurrently. This determines the speed and capacity of the
application.
ii) Smoke testing can be done here. Smoke testing is responsible to validate if basic functionlity
is working correctly or not by the developer team. So where large number of users are
connecting, if the numbers exceed, it will test if the functionlites of the application is responding
fine or not.
iii) Penetration testing can be used to prevent the Hackers from damaging a system. It
comprises of technological interventions that security professionals perform. These tools
comprsied of application scanners, port scanners and others, grouping them in one entity to
carry our successful penetration test.
iv) User acceptance testing or popularly UAT can be user here. On the basis of the final goal,
this testing generates reports which can measure human satisfaction.
There are several types of testing apart from these like integration testing, Sanity testing,
Regression testing etc which can also be deployed here in the above senerios.
2018
6D)
Answer:
Case Study:
● A test case is a description of the testing process, the inputs used, the execution
circumstances, and the anticipated outcomes.
● There are stages to a test case, such as Test Execution, and testers who execute the
test cases.
● They also aid in the identification and detection of test instances.
● It's similar to a document that contains a collection of test data, preconditions, and other
information.
● Let's go through a few test cases to ensure that we've covered all of the system's
potential states.