1.1 The nature of software.ppt

6,535 views 17 slides Feb 03, 2023
Slide 1
Slide 1 of 17
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17

About This Presentation

models


Slide Content

THE NATURE OF SOFTWARE

INTRODUCTION
ComputerSoftware
Softwareistheproductorsetofinstructions.
Anythingthatcanbestoredelectronically.
SoftwareEngineering
Softwareengineeringencompassesaprocess,acollectionof
methods(practice)andanarrayoftoolsthatallowprofessionals
tobuildhighqualitycomputersoftware.

SOFTWARE EXAMPLES

Software’s Dual Role
Softwareisaproduct
Softwareisavehiclefordeliveringaproduct

DEFINITIONS
Softwareisdefinedas–
Instructions
Programsthatwhenexecutedprovidedesired
function
Datastructures
Enabletheprogramstomanipulateinformation
Descriptiveinformation(documents)
Describetheoperationanduseoftheprograms

Characteristics of Software
Softwareisdevelopedorengineered,itisnot
manufacturedintheclassicalsense.
Softwaredoesnotwearout.Howeveritdeteriorates
duetochange.
Althoughtheindustryismovingtowardscomponent
basedconstruction,mostsoftwarecontinuestobe
custombuilt.

FAILURE CURVE FOR HARDWARE
Time
“Infant
mortality”
“Wearout”
Failure rate

FAILURE CURVE FOR SOFTWARE

Software Application Domains
Systemsoftware
Collectionofprogramswrittentoserviceotherprograms
Applicationsoftware
Stand-aloneprogramsthatsolveaspecificbusinessneed
Engineering/scientificsoftware
Numbercrunchingalgorithm
Embeddedsoftware
Resideswithinaproductorsystemandusedtoimplementand
controlfeaturesandfunctionsfortheenduserandforthesystem
itself

Contd..
Product-linesoftware
Designedtoprovideaspecificcapabilityforusebymany
differentcustomers(eg.Wordprocessing,spreadsheet,
multimedia,DBmanagementsystem,etc)
Web-applications
Called“WebApps”,thisnetworkcentricsoftwarecategory
spansawidearrayofapplications
Artificialintelligencesoftware
Makesuseofnon-numericalalgorithmstosolvecomplex
problems

New Challenges
Open–worldcomputing
Wirelessnetworksanddistributedcomputing
Netsourcing
Webasacomputingengineandcontentprovider
Simplearchitectureacrosswww
Opensource
Freesourcecodesopentothecomputingcommunity

Legacy Software
Legacysoftwareareolderprogramsthataredevelopeddecades
agoandhavebeencontinuallymodifiedtomeetchangesin
businessrequirementsandcomputingplatforms
Thequalityoflegacysoftwareispoorbecauseithasinextensible
design,convolutedcode,poorandnonexistentdocumentation,test
casesandresultsthatarenotachieved

Legacy Software
Astimepasseslegacysystemsevolveduetofollowingreasons:
Thesoftwaremustbeadaptedtomeettheneedsofnewcomputing
environmentortechnology.
Thesoftwaremustbeenhancedtoimplementnewbusiness
requirements.
Thesoftwaremustbeextendedtomakeitinteroperablewithmore
modernsystemsordatabase
Thesoftwaremustbere-architectedtomakeitviablewithina
networkenvironment.

MINDMAP

SUMMARY
•Thenatureofsoftware
Characteristicsofsoftware
Softwareisdevelopedorengineered
Softwaredoesn'twear-out
Softwarecontinuestobecustombuilt
Softwareapplicationdomains
Systemsoftware
Applicationsoftware
Engineering/scientificsoftware
Embeddedsoftware
Product-linesoftware
Webapplications
ArtificialIntelligencesoftware
Newchallenges
Openworldcomputing
Netsourcing
Opensource
Legacysoftware

Stimulating Questions
Canyoudifferentiatecomputerprogramand
computersoftware?
Ans:
1)Programisasetofinstructionswhereass/wisa
setofprogramsi.e.,
2)Acomputerprogramispieceofprogramming
codewhichperformsawelldefinedtaskwhere
assoftwareincludesprogrammingcode,its
documentationanduserguide.

Contd..
Whenyouknowprogramming,whatistheneedto
learnsoftwareengineeringconcepts?
Ans:
•Apersonwhoknowshowtobuildawallmaynotbegoodat
buildinganentirehouse.Likewise,apersonwhocanwrite
programsmaynothaveknowledgeofotherconceptsof
SoftwareEngineering.Thesoftwareengineeringconcepts
guideprogrammersonhowtoassessrequirementsofend
user,designthealgorithmsbeforeactualcodingstarts,
createprogramsbycoding,testingthecodeandits
documentation.
Tags