Lalima Sepm Assignment
Lalima Sepm Assignment
SUBMITTED BY-
LALIMA
300703321016
5TH SEM
UNIT 1
Ans.-
The term software engineering is the product of two words, software,
and engineering.
The classical waterfall model is the basic software development life cycle model. It is
very simple but idealistic. Earlier this model was very popular but nowadays it is not
used. But it is very important because all the other software development life cycle
models are based on the classical waterfall model.
1. Feasibility Study
The main goal of this phase is to determine whether it would be financially and
technically feasible to develop the software.
The feasibility study involves understanding the problem and then determining the
various possible strategies to solve the problem. These different identified solutions
are analyzed based on their benefits and drawbacks, The best solution is chosen and
all the other phases are carried out as per this solution strategy.
The aim of the requirement analysis and specification phase is to understand the exact
requirements of the customer and document them properly. This phase consists of
two different activities.
Requirement gathering and analysis: Firstly all the requirements regarding the
software are gathered from the customer and then the gathered requirements are
analyzed. The goal of the analysis part is to remove incompleteness (an incomplete
requirement is one in which some parts of the actual requirements have been omitted)
and inconsistencies (an inconsistent requirement is one in which some part of the
requirement contradicts some other part).
3. Design
The goal of this phase is to convert the requirements acquired in the SRS into a format
that can be coded in a programming language. It includes high-level and detailed
design as well as the overall software architecture. A Software Design Document is
used to document all of this effort (SDD).
Integration of different modules is undertaken soon after they have been coded and
unit tested. Integration of various modules is carried out incrementally over a number
of steps. During each integration step, previously planned modules are added to the
partially integrated system and the resultant system is tested. Finally, after all the
modules have been successfully integrated and tested, the full working system is
obtained and system testing is carried out on this.
System testing consists of three different kinds of testing activities as described below.
Alpha testing: Alpha testing is the system testing performed by the development team.
Beta testing: Beta testing is the system testing performed by a friendly set of
customers.
Acceptance testing: After the software has been delivered, the customer performed
acceptance testing to determine whether to accept the delivered software or reject it.
6. Maintenance
Maintenance is the most important phase of a software life cycle. The effort spent on
maintenance is 60% of the total effort spent to develop a full software. There are
basically three types of maintenance.
Corrective Maintenance: This type of maintenance is carried out to correct errors that
were not discovered during the product development phase.
and also checks whether the flow of the code is correct or not.
Model
RAD is a linear sequential software development process model that emphasizes a
concise development cycle using an element based construction approach. If the
requirements are well understood and described, and the project scope is a constraint,
the RAD process enables a development team to create a fully functional system within
a concise time period.
RAD (Rapid Application Development) is a concept that products can be developed
faster and of higher quality through:
o
o 1.Business Modelling: The information flow among business functions is
defined by answering questions like what data drives the business process, what
data is generated, who generates it, where does the information go, who
process it and so on.
o 2. Data Modelling: The data collected from business modeling is refined into
a set of data objects (entities) that are needed to support the business. The
attributes (character of each entity) are identified, and the relation between
these data objects (entities) is defined.
o ADVERTISEMENT
o 3. Process Modelling: The information object defined in the data modeling
phase are transformed to achieve the data flow necessary to implement a
business function. Processing descriptions are created for adding, modifying,
deleting, or retrieving a data object.
o 4. Application Generation: Automated tools are used to facilitate construction
of the software; even they use the 4th GL techniques.
o 5. Testing & Turnover: Many of the programming components have already
been tested since RAD emphasis reuse. This reduces the overall testing time.
But the new part must be tested, and all interfaces must be fully exercised.
AgIle tools-
In agile development, leading as project management is not the easiest job. Jumping between
your daily scrums to your next sprint, it causes hard to focus on the work. The agile
development tools fulfill your needs, and does it for you.
UNIT 2
Ans.- The term software engineering is the product of two words, software,
and engineering.
Ans. Bottom–up and top–down are both strategies of information processing and
ordering knowledge, used in a variety of fields including software, humanistic and
scientific theories (see systemics), and management and organization. In practice
they can be seen as a style of thinking, teaching, or leadership.
A top–down approach (also known as stepwise design and stepwise refinement and
in some cases used as a synonym of decomposition) is essentially the breaking down
of a system to gain insight into its compositional subsystems in a reverse
engineering fashion. In a top–down approach an overview of the system is
formulated, specifying, but not detailing, any first-level subsystems. Each subsystem
is then refined in yet greater detail, sometimes in many additional subsystem levels,
until the entire specification is reduced to base elements. A top–down model is often
specified with the assistance of black boxes, which makes it easier to manipulate.
However black boxes may fail to clarify elementary mechanisms or be detailed
enough to realistically validate the model. A top–down approach starts with the big
picture, then breaks down into smaller segments.[1]
Ans - Stepwise refinement is the idea that software is developed by moving through the
levels of abstraction, beginning at higher levels and, incrementally refining the software
through each level of abstraction, providing more detail at each increment. At higher levels,
the software is merely its design models; at lower levels there will be some code; at the
lowest level the software has been completely developed.
At the early steps of the refinement process the software engineer does not necessarily
know how the software will perform what it needs to do. This is determined at each
successive refinement step, as the design and the software is elaborated upon.