1. 1
Software and Software EngineeringSoftware and Software Engineering
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
2. 2
SoftwareSoftware’’s Dual Roles Dual Role
Software is a productSoftware is a product
Delivers computing potentialDelivers computing potential
Produces, manages, acquires, modifies, displays, or transmitsProduces, manages, acquires, modifies, displays, or transmits
informationinformation
Software is a vehicle for delivering a productSoftware is a vehicle for delivering a product
Supports or directly provides system functionalitySupports or directly provides system functionality
Controls other programs (e.g., an operating system)Controls other programs (e.g., an operating system)
Effects communications (e.g., networking software)Effects communications (e.g., networking software)
Helps build other software (e.g., software tools)Helps build other software (e.g., software tools)
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
3. 3
What is Software?What is Software?
Software is a set of items or objects
that form a “configuration” that
includes
• programs
• documents
• data ...
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
4. 12/30/2008 4
SoftwareSoftware
Software is the collection of computer programs, procedures,Software is the collection of computer programs, procedures,
Rules and associate with documentation and dataRules and associate with documentation and data
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
5. 12/30/2008 5
Software EngineeringSoftware Engineering
Software Engineering is a systematic approach to development,Software Engineering is a systematic approach to development,
operation, maintenance and retirement of software.operation, maintenance and retirement of software.
OrOr
Software Engineering is the application of science andSoftware Engineering is the application of science and
mathematic by which the capabilities of computer equipment aremathematic by which the capabilities of computer equipment are
made useful to man via computer programs, procedures andmade useful to man via computer programs, procedures and
associated with documentation.associated with documentation.
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
6. 12/30/2008 6
Goal of the SoftwareGoal of the Software
EngineeringEngineering
The software produce high quality software at low costThe software produce high quality software at low cost
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
7. 7
What is Software Engineering ? orWhat is Software Engineering ? or
characteristicscharacteristics
software is engineeredsoftware is engineered
software doesnsoftware doesn’’t wear outt wear out
software is complexsoftware is complex
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
9. 9
Wear vs. DeteriorationWear vs. Deterioration
idealized curve
change
actual curve
Failure
rate
Time
increased failure
rate due to side effects
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
12. 12
SoftwareSoftware——New CategoriesNew Categories
Ubiquitous computingUbiquitous computing——wireless networkswireless networks
NetsourcingNetsourcing——the Web as a computing enginethe Web as a computing engine
Open sourceOpen source——””freefree”” source code open to the computingsource code open to the computing
community (a blessing, but also a potential curse!)community (a blessing, but also a potential curse!)
Data miningData mining
Grid computingGrid computing
Cognitive machinesCognitive machines
Software for nanotechnologiesSoftware for nanotechnologies
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
13. 13
Legacy SoftwareLegacy Software
software must besoftware must be adaptedadapted to meet the needs of newto meet the needs of new
computing environments or technology.computing environments or technology.
software must besoftware must be enhancedenhanced to implement newto implement new
business requirements.business requirements.
software must besoftware must be extended to make it interoperableextended to make it interoperable
with other more modern systems or databases.with other more modern systems or databases.
software must besoftware must be rere--architectedarchitected to make it viableto make it viable
within a network environmentwithin a network environment.
Why must it change?
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
14. 14
Software EvolutionSoftware Evolution
The Law of Continuing Change (1974):The Law of Continuing Change (1974): EE--type systems must be continually adapted else theytype systems must be continually adapted else they
become progressively lessbecome progressively less satisfactorysatisfactory..
The Law of Increasing Complexity (1974):The Law of Increasing Complexity (1974): As an EAs an E--type system evolves its complexity increasestype system evolves its complexity increases
unless work is done tounless work is done to maintain or reduce itmaintain or reduce it..
The Law of Self Regulation (1974):The Law of Self Regulation (1974): The EThe E--type system evolution process is selftype system evolution process is self--regulating withregulating with
distribution of product and process measures close to normal.distribution of product and process measures close to normal.
The Law of Conservation of Organizational Stability (1980):The Law of Conservation of Organizational Stability (1980): The average effective global activityThe average effective global activity
rate in an evolving Erate in an evolving E--type system is invariant over producttype system is invariant over product lifetimelifetime..
The Law of Conservation of Familiarity (1980):The Law of Conservation of Familiarity (1980): As an EAs an E--type system evolves all associated with it,type system evolves all associated with it,
developers, sales personnel, usersdevelopers, sales personnel, users, for example, must maintain mastery of its content and behavior, for example, must maintain mastery of its content and behavior
to achieve satisfactory evolution.to achieve satisfactory evolution.
The Law of Continuing Growth (1980):The Law of Continuing Growth (1980): The functional content of EThe functional content of E--type systems must betype systems must be
continually increased tocontinually increased to maintain user satisfactionmaintain user satisfaction over their lifetime.over their lifetime.
The Law of Declining Quality (1996):The Law of Declining Quality (1996): The quality of EThe quality of E--type systems will appear to be decliningtype systems will appear to be declining
unless they are rigorously maintained and adapted tounless they are rigorously maintained and adapted to operational environment changesoperational environment changes..
The Feedback System Law (1996):The Feedback System Law (1996): EE--type evolution processes constitute multitype evolution processes constitute multi--level, multilevel, multi--loop,loop,
multimulti--agent feedback systems and must be treated as such to achieve siagent feedback systems and must be treated as such to achieve significant improvement overgnificant improvement over
any reasonable base.any reasonable base.
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
15. 15
Software MythsSoftware Myths
Affect managers, customers (and other nonAffect managers, customers (and other non--technicaltechnical
stakeholders) and practitionersstakeholders) and practitioners
Are believable because they often have elements of truth,Are believable because they often have elements of truth,
butbut ……
Invariably lead to bad decisions,Invariably lead to bad decisions,
thereforetherefore ……
Insist on reality as you navigate your way throughInsist on reality as you navigate your way through
software engineeringsoftware engineering
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
17. 17
Software Process FrameworkSoftware Process Framework
Process framework
Umbrella activities
Framework activity 1
Framework activity n
Software Process
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
18. 18
Generic process framework activitiesGeneric process framework activities
CommunicationCommunication
PlanningPlanning
ModelingModeling
ConstructionConstruction
DeploymentDeployment
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
19. 19
Software project tracking and controlSoftware project tracking and control
Risk managementRisk management
Software quality assuranceSoftware quality assurance
Formal technical reviewsFormal technical reviews
MeasurementMeasurement
Reusability managementReusability management
Work product preparation and productionWork product preparation and production
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
20. 20
The capability maturity model integrationThe capability maturity model integration
(CMMI)(CMMI)
PP
REQM
MA
CM
PPQA
Process area
c
o
o
Capabilitylevel
PP Project planning
REQM Requirements management
MA Measurement and analysis
CM Configuration management
PPQA Process and product QA
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
21. 21
Level of CMMILevel of CMMI
IncompleteIncomplete
PerformedPerformed
ManagedManaged
DefinedDefined
Quantitatively managedQuantitatively managed
OptimizedOptimized
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
22. 22
Process PatternsProcess Patterns
Customer communicationCustomer communication
Requirements gatheringRequirements gathering
Spiral model or prototyping modelSpiral model or prototyping model
Resulting contextResulting context
deploymentdeployment
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
23. 23
Process AssessmentProcess Assessment
Software process
Software Process
Assessment
Software Process
Improvement
Capability
Determination
Identifies capabilities
and risk of SP
Is examined by SPA
Identifies
modification to SPA
Leads to Leads to
Motivates
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
24. 24
Personal and Team Process ModelsPersonal and Team Process Models
Personal Software Process (PSP)Personal Software Process (PSP)
Planning, High level design, High level design review,Planning, High level design, High level design review,
Development, Postmortem.Development, Postmortem.
Team Software Process (TSP)Team Software Process (TSP)
Build selfBuild self--directed, Managers, Software process,directed, Managers, Software process,
improvement guidance, teachingimprovement guidance, teaching
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net