SoftwareEngineering
SoftwareandSoftwareEngineering
SoftwaresDualRole
Softwareisaproduct
Softwareisavehiclefordeliveringaproduct
Deliverscomputingpotential Produces,manages,acquires,modifies,displays,ortransmits information Supportsordirectlyprovidessystemfunctionality Controlsotherprograms(e.g.,anoperatingsystem) Effectscommunications(e.g.,networkingsoftware) Helpsbuildothersoftware(e.g.,softwaretools)
WhatisSoftware?
Softwareisasetofitemsorobjects thatformaconfigurationthat includes programs documents data...
WhatisSoftware?
softwareisengineered softwaredoesntwearout softwareiscomplex
SoftwareApplications
systemsoftware applicationsoftware engineering/scientificsoftware embeddedsoftware productlinesoftware WebApps(Webapplications) AIsoftware
LegacySoftware
Whymustitchange?
softwaremustbeadaptedtomeettheneedsofnew computingenvironmentsortechnology. softwaremustbeenhancedtoimplementnew businessrequirements. softwaremustbeextendedtomakeitinteroperable withothermoremodernsystemsordatabases. softwaremustberearchitectedtomakeitviable withinanetworkenvironment.
WhatisSoftwareEngineering?
Ahistoricaldefinition:
Theestablishmentanduseofsoundengineeringprinciplesinorderto obtaineconomicallysoftwarethatisreliableandworksefficientlyonreal machines[FritzBauer,atthe1stNATOConferenceonSoftwareEngineering,
1969]
IEEEdefinition:
Softwareengineeringistheapplicationofasystematic,disciplined, quantifiableapproachtothedevelopment,operation,andmaintenanceof software;thatis,theapplicationofengineeringtosoftware.
FactsaboutSoftwareProjects
28%
completed on time and on budget canceled before completion overran original estimates: -Time overrun averaged 63% - Cost overrun averaged 45%
23%
49%
SoftwareMyths
Affectmanagers,customers(andothernontechnical stakeholders)andpractitioners Arebelievablebecausetheyoftenhaveelementsoftruth, but Invariablyleadtobaddecisions, therefore Insistonrealityasyounavigateyourwaythrough softwareengineering
10
SoftwareMyths
11
DevelopersPrespective
12
Management'sPerspective
13
Management'sPerspective
14
15
16