Software - Components & Characteristics
Software - Components & Characteristics
Introduction
Software - Components & Characteristics
Softwareistheprogramandalltheassociateddocumentation&configurationdatawhichisneededto
maketheseprogramsoperatecorrectly.
Asoftwaresystemconsistof
Numberofseparateprograms.
Configurationfilesthatareusedtosetuptheseprograms.
Systemdocumentationthatdescribethestructureofthesystem.
Userdocumentationthatexplainshowtousethesystem.
The3characteristicsofagoodsoftwareare
1. Operationalcharacteristics
,whicharefunctionalitybasedfactorsandrelatedtotheexterior
qualityofsoftware.
2. Revisioncharacteristics
,whichareengineeringbasedfactorsandrelatedtotheinterior
qualityofasoftware.
3. Transitioncharacteristics
,
Keyoperationalcharacteristicsare
Correctness
shouldmeetallstatedspecificationofthecustomer.
Usability/Learnability
EasytolearnanduserfriendlyforevenITilliteratepeople.
Integrity
Shouldnothaveanysideeffects,meansneveraffecttheworkingofanother
application.
Reliability
Shouldnthaveanydefectsorfailwhileexecution.
Efficiency
Shouldoptimallyuseallresourceslikehardware,memoryetc.
Security
Shouldnthaveilleffectsondataorhardwareorusers.
Safety
Shouldnothazardoustoenvorpeople.
Keyrevisioncharacteristicsare
Maintainability
Maintenanceofthesoftwareshouldbeeasyforanykindofuser.
Flexibility
Changesinthesoftwareshouldbeeasytomake.
Extensibility
Itshouldbeeasytoincreasethefunctionsperformedbyit.
Scalability
Itshouldbeveryeasytoupgradeitformorework(orformorenumberofusers).
Testability
Testingthesoftwareshouldbeeasy.
Modularity
Anysoftwareissaidtomakeofunitsandmoduleswhichareindependentofeach
other.Thesemodulesarethenintegratedtomakethefinalsoftware.Ifthesoftwareisdivided
intoseparateindependentpartsthatcanbemodified,testedseparately,ithashighmodularity.
KeyTransitioncharacteristicsare
Interoperability
Interoperabilityistheabilityofsoftwaretoexchangeinformationwithother
applicationsandmakeuseofinformationtransparently.
Reusability
Ifweareabletousethesoftwarecodewithsomemodificationsfordifferent
purposethenwecallsoftwaretobereusable.
Portability
Theabilityofsoftwaretoperformsamefunctionsacrossallenvironmentsand
platforms,demonstrateitsportability
Importanceofanyofthesefactorsvariesfromapplicationtoapplication.Insystemswherehumanlife
isatstake,integrityandreliabilityfactorsmustbegivenprimeimportance.Inanybusinessrelated
applicationusabilityandmaintainabilityarekeyfactorstobeconsidered.Alwaysrememberin
SoftwareEngineering,qualityofsoftwareiseverything,thereforetrytodeliveraproductwhichhasall
thesecharacteristicsandqualities.
SDLC - 4GL
Useofsoftwaretoolsthatallowsoftwareengineertospecifysoftwarecharacteristicsathigh
level.
Thetoolsgeneratecodesbasedonspecification.
Motetimeindesign&testingincreaseproductivity.
Toolsmaynotbeeasytouse,codesgeneratedmaynotbeefficient.