20NE204-ASE KEY-updated
20NE204-ASE KEY-updated
S.
No. Waterfall Model Spiral Model
The Waterfall model is simple The spiral model is a lot more
1. and easy. complex.
The waterfall model works in a While the spiral model works
2. sequential method. in the evolutionary method.
In the waterfall model errors or In the spiral model errors or
risks are identified and rectified risks are identified and
3. after the completion of stages. rectified earlier.
The waterfall model is adopted While the spiral model is
4. by customers. adopted by developers.
The waterfall model is While the Spiral model is
5. applicable for small projects. used for large projects.
2. Define Project Planning.
Project planning is a discipline addressing how to complete a project in a certain timeframe, usually
with defined stages and designated resources. One view of project planning divides the activity into
these steps:
setting measurable objectives
identifying deliverables
scheduling
planning tasks
Requirements analysis is critical to the success or failure of a systems or software project. The
requirements should be documented, actionable, measurable, testable, traceable, related to
identified business needs or opportunities, and defined to a level of detail sufficient for system design.
A Use Case Model describes the proposed functionality of a new system. A Use Case represents a
discrete unit of interaction between a user (human or machine) and the system. This interaction is a
single unit of meaningful work, such as Create Account or View Account Details.
Each Use Case describes the functionality to be built in the proposed system, which can include
another Use Case's functionality or extend another Use Case with its own behavior.
Refactoring consists of improving the internal structure of an existing program's source code, while
preserving its external behaviour
Smoke testing checks the core functionality of a program, to ensure that the program is ready for
further testing.
Continuous integration is a DevOps software development practice where developers regularly merge
their code changes into a central repository, after which automated builds and tests are run.
b) Describe in detail about Classical and Iterative Waterfall Model with diagrams.
Classical waterfall model divides the life cycle into a set of phases. This model considers
that one phase can be started after completion of the previous phase. That is the output of
one phase will be the input to the next phase. Thus the development process can be
considered as a sequential flow in the waterfall. Here the phases do not overlap with each
other. The different sequential phases of the classical waterfall model are shown in the
below figure:
1. Feasibility Study:
2. Requirements analysis and specification:
o
3. Design: The aim of the design phase is to transform the requirements specified in
the SRS document into a structure that is suitable for implementation in some
programming language.
4. Coding and Unit testing
5. Integration and System testing
6. Maintanance
provides feedback paths from every phase to its preceding phases, which is the main
difference from the classical waterfall model.
Feedback paths introduced by the iterative waterfall model are shown in the figure
below.
When errors are detected at some later phase, these feedback paths allow correcting
errors committed by programmers during some phase. The feedback paths allow the
phase to be reworked in which errors are committed and these changes are reflected in
the later phases. But, there is no feedback path to the stage – feasibility study, because
once a project has been taken, does not give up the project easily.
It is good to detect errors in the same phase in which they are committed. It reduces the
effort and time required to correct the errors.
Phase Containment of Errors: The principle of detecting errors as close to their points
of commitment as possible is known as Phase containment of errors.
12. a) Explain in detail about requirement gathering and analysis. Specify the functional and non
functional requirements.
Requirements discovery
Interviewing
Scenarios
Use cases
Ethonography
Requirement classification and organization
Requirements prioritization and negotiation
Requirements specification
Functional Requirements: These are the requirements that the end user specifically
demands as basic facilities that the system should offer. All these functionalities need to
be necessarily incorporated into the system as a part of the contract. These are
represented or stated in the form of input to be given to the system, the operation
performed and the output expected. They are basically the requirements stated by the
user which one can see directly in the final product, unlike the non-functional
requirements.
Non-functional requirements: These are basically the quality constraints that the system must
satisfy according to the project contract. The priority or extent to which these factors are
implemented varies from one project to other. They are also called non-behavioral requirements.
Relationships
With the simple line we can represent relationships between an
actor and use cases. For relationships between use-case, we
use arrows which are labeled either "extends" or "uses". The
"extends" relationship shows the alternative options under the
specific use case. The "uses" relationship shows that single
use-case is required to accomplish a job.
Actors
Use-Cases
Systems/Packages
Relationships
Class Diagram:
Class diagram is a static diagram. It represents the static view of an application. Class
diagram is not only used for visualizing, describing, and documenting different aspects of
a system but also for constructing executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints
imposed on the system. The class diagrams are widely used in the modeling of
objectoriented systems because they are the only UML diagrams, which can be mapped
directly with object-oriented languages.
Class diagram shows a collection of classes, interfaces, associations, collaborations, and
constraints. It is also known as a structural diagram.
Definition
A design pattern is a general repeatable solution to a commonly occurring problem in
software design. It is a description or template for how to solve a problem that can be used in
many different situations.
2. MVC
2.1 Client server
2.2. Peer to Peer
2.3. Three tier
2.4 Four tier
2.5 Pipe and filter
Model
The Model component corresponds to all the data-related logic that the user works with. This can
represent either the data that is being transferred between the View and Controller components or
any other business logic-related data. For example, a Customer object will retrieve the customer
information from the database, manipulate it and update it data back to the database or use it to
render data.
View
The View component is used for all the UI logic of the application. For example, the Customer
view will include all the UI components such as text boxes, dropdowns, etc. that the final user
interacts with.
Controller
Controllers act as an interface between Model and View components to process all the business
logic and incoming requests, manipulate data using the Model component and interact with the
Views to render the final output. For example, the Customer controller will handle all the
interactions and inputs from the Customer View and update the database using the Customer
Model. The same controller will be used to view the Customer data.
14. a) Illustrate Integration testing and briefly explain various types of integration testing.
b) Illustrate Regression Testing and it's process with the help of neat diagram.
To ensure that the changes or additions do not break something which is already
working and should continue to work.
This type of testing is used to take fast and frequent releases and also to deliver
the stable software.
It follows the selective retesting technique. If the defect fixes are done, then there
should be a selection of test cases which have to be run inorder to check the defect fixes.
First the areas which impacted is found in an impact analysis. Based on this, some of the
test cases are chosen. This type of testing is referred as selective retesting. Because it
concentrates on existing test cases which have been already executed.
A build is an aggregation of all the defect fixes and features which are available
in the product. Normally the source code of a product is compiled first. Then defect fixes
are consolidated in the build.
They are
1. Regular regression testing
2. Final regression testing
b) Explain Cloud as a Platform as Software Development and Deployment. Appraise the pros and
cons of the same.
A cloud platform refers to the operating system and hardware of a server in an Internet-based
data center. It allows software and hardware products to co-exist remotely and at scale.
Enterprises rent access to compute services, such as servers, databases, storage, analytics,
networking, software, and intelligence. Therefore, the enterprises don’t have to set up and own
data centers or computing infrastructure. They simply pay for what they use.
There are several types of cloud platforms. Not a single one works for everyone. There are
several models, types, and services available to help meet the varying needs of users. They
include:
Public Cloud: Public cloud platforms are third-party providers that deliver computing
resources over the Internet. Examples include Amazon Web Services (AWS), Google
Cloud Platform, Alibaba, Microsoft Azure, and IBM Bluemix.
Private Cloud: A private cloud platform is exclusive to a single organization. It’s
usually in an on-site data center or hosted by a third-party service provider.
Hybrid Cloud: This is a combination of public and private cloud platforms. Data and
applications move seamlessly between the two. This gives the organization greater
flexibility and helps optimize infrastructure, security, and compliance.
A cloud platform allows organizations to create cloud-native applications, test and build
applications, and store, back up, and recover data. It also allows organizations to analyze data.
Organizations can also stream video and audio, embed intelligence into their operations, and
deliver software on-demand on a global scale.
Pros of Cloud:
1. Lower operational costs.
2. Increased IT resources.
3. Convenient, rapid access to technology.
4. Faster connectivity.
5. Greater scale.
6. Greater expertise.
7. More reliable infrastructure.
Cons of cloud
1. A complicated shared security model.
2. Complex pricing structures.
3. Outbound data transfer costs.
4. Less flexibility than DIY environments.
5. Sketchy, inconsistent customer support.
6. Fast, redundant connectivity.
7. Cloud-specific skills.
Country- or industry-specific regulatory requirements.