Engineering for
BCA
Introduction: Defining system, open and closed system, modeling of
system through computer hardware, communication systems, external agents and
software systems; lmportance of Engineering Methodology towards computerization of
asystem.
Software Life Cycle: Classical and Iterative Waterfall Model; Spiral Model and its
importance towards application for different system representations, Comparative
Studies.
Software Requirement and Specification Analysis: Requirements Principles
and its
analysis principles; Specification Principles and its representations Software Design
Analysis - Different level of DFD Design, Physical and Logical DFD, Use
Conversions between them, Process Representation - Pseudo English, Tight and
Decision Tables and Trees, Structured analysis Structure Chart English,
DFD: Transform Centric and Transaction Centric Conversion from
Cohesion of the different modules Software Cost conversions algorithms, Coupling and
Estimation Modeling Heuristic and
Empirical Modeling; COCOMO
Software Testing: Software Verification and Validation; Testing
objectives, Testing
Principles, Testability; Error and Faults; Unit Testing, White Box and
Testing, Test Case Design: Test Vector, Test Stub Blank Box
Software Quality Assurances: Concepts of Quality, Quality
Assurance, SQA Activities, IEEE Standard for Statistical SoftwareControl, Quality
(SSQA) criterions. Quality Assurances
1
, Q:What is Waterfall Model? Briefly describe it.
Waterfall Model is also known as Liner Sequential Life Cycle Model. Waterfall Model followed in the
sequential order and so we move to next step of development or testing if the previous step
completed successfully. Waterfall Model is very successful approach for the small projects and if the
requirements are very clear. Once Waterfall Model is followed and if any step completed and next
step has been started in development process, we can't revert back to the previous step to redevelop
or perform any change. Waterfall Model concept first introduced in 1970 by Winston
W. Royce.
The phases of "The Waterfall Model" are:
Reguirements
AnalysIs
Design
mplementation
sng
DeployIent
NalRLenance
Reguirements: This is the first phase of development where all the
documented. Requirements have to be collected requirements gathered and
checking them for validity and the possibility toby analysing the needs of the end user(s) and
Reguirements Specification Document which is used asimplement them. The aim is to generate a
an input for the next phase of the model.
Analysis: In this phase we analyze all the gathered
or invalid. requirements whether the requirements are valid
Design:The system has to be properly designed before any
an architectural design which defines implementation is started, This involves
their interfaces and interactions.In thisandphase
describes the main blockS and components
hardware, systerm configuration and architectureallor the system design is analyzed and ofspecified
the system,
the system. like
2
, the defined
Implementation:Based on the software design document the work is aiming to set up portions caled
developed in smaller
modules or units and actual coding is started. The system is first to form the
are integrated later on
units. They are able to stand alone from an functional aspect and are performed and development
complete software package. In this phase all the development works
components or units handed over to testing team.
each
Testing: Once the development completed, testing phase starts and in this phase we test thetesting
unit or component and make sure the developed components are working as expected. All the
activities are performed in this phase.
Deployment: Once testing is completed and make sure there is no bug or defect or any kind of issue,
start
then project is deployed to production. Once product is deployed to production the end users
using the product.
Maintenance: We always keep eye on the product and provide all the necessary bug or issue fixes
if
occurs in production or reported by end users. Also time to time we keep updated the product with
customer and
new updates or patches if developed or available. The system is handed over to the
will be used the first time by him.
Corrective maintenance -During the process of software development corrective faut not
found or discovered.
Perfective maintenance - Under this step functions which are performed by this software
increased according to the need of customer.
Adaptive maintenance -Transform the software to new operating system, environments or to
a new computer is called Adaptive maintenance
Q: What are the advantage and disadvantages of waterfall model and when to use it?
Advantages of Waterfall Model:
Very good approach for smallprojects.
Easy to use and follow.
Cost effective.
Each phase completely developed.
Development processed in sequential manner sovery less chance to rework.
Easy to manage the project.
Easy documentation.
Disadvantages of Waterfall Model:
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
3