Software Engineering
Software Engineering
UNIT I - INTRODUCTION
• System Software.
• Real-time Software.
• Business Software.
• Engineering and Scientific Software.
• Embedded Software.
• Personal Computer Software.
• Web-based Software.
• Artifical Intelligence Software.
Software Engineering -A layered Technology:
• Application of a
systematic,
disciplined,
quantifiable approach
to the development,
operation and
maintenance of
software that is, the
application of
engineering software.
What are the five generic process framework
activities?
• The following generic process framework
is applicable to the majority of software
projects.
• Communication.
• Planning.
• Modeling.
• Construction.
• Deployment.
Process Models:
• Prototyping Model
is a software
development
model in which
prototype is built,
tested, and
reworked until an
acceptable
prototype is
achieved.
Advantages:
• Clarity.
• Risk Identification.
• Good Environment.
• Take less time to complete.
Disadvantages:
• High cost.
• Slow process.
• Too many changes.
RAD Model:
• Introduction:
• The tools in automatically generate ource code based on the developers
specification.
Software development environment that supports the 4GT paradigm
includes some or all of the following tools:
• 1) Non-procedural languages for database query
• 2) Report generation
• 3) Data manipulation
• 4) Screen interaction and definition
• 5) Code generation and High-level graphics capability
• 6) Spreadsheet capability
• 7) Automated generation of HTML and similar languages used for Web-site
creation using advanced software tools.
Advantages:
• Reduction in software development.
• Improved productivity of software engineers.
• 4GT helped by CASE tools and code
generators.
Disadvantages:
• Some 4GT are not at all easier than
programming languages.
• Generated source code are sometimes
inefficient.
• Time is reduced for only small and medium
projects.
Planning:
• Software planning process include steps to
estimate the size of the software work products
and the resources needed produces a schedule
identify and access software risks.
• During planning a project is split into several
activities :
• How much efforts is required to complete each
activities?
• How much calender time is needed?
• How much will the completed activity cost?
Planning Objectives:
• Understand the scope of the problem.
• Make use of past historical data.
• Estimate effort or function or size.
• Define a project schedule.
Characteristics of software project planning:
• Scope.
• Resource.
• Time.
• Quality.
• Risk.
Project Plan:
• The biggest single problem that afflicts
software developing is that of
underestimating resources required for a
project.
• According to the project management
body of knowledge.
• According to PRINCE(PRojects IN
Controlled Environments).
• Compartmentalization.
• Interdependency.
• Time Allocation.
• Effort Validation.
• Defined Responsibilities.
• Defined outcomes.
• Defined Milestones.
Relationship between people and effort:
Imple
Design menta Testing Testing
tion
UI Module Data
Data Design Design Site
Design Testing
Design
Features of WBS:
• Structure.
• Description.
• Coding.
• Depth.
• Level of Detail.
Activity Charts : Representation of WBS:
• Network of boxes and arrows.
• Shows different tasks making up a project.
• Represents the ordering among the tasks.
Project Evaluation Review Technique(PERT):
• PERT chart is a project management tool
used to schedule, organize and coordinate
tasks within the project.
• PERT methonology developed by the U.S.
Navy in the 1950’s to manage the polaris
submarine program.
• PERT is an event-oriented technique
• PERT is a probabilistic model
• Grantt chart, PERT can be both a cost and
a time management system.
Grantt Chart:
A grantt chart is a
horizontal bar chart
developedas a
production control tool
named after Henry L,
Grantt an american
engineer and social
scientist ferquently used
in project management.
Critical Path Method(CPM):