Software Engineering Methodology
Derek Partridge · 2013
Achapteronsoftwareengineeringmethodologymayoccasionsomesurpriseinthealertreaderwhohasreadandremembersthecontentsof Chapter1.Inthefirstchapter,softwareengineeringwasexplainedby sketchingoutthetaskthatsoftwareengineersperform,andthestagesin a&s;standard&s;softwaredevelopmentlifecycle.Thesequenceofstagespresentedcomprisesamethodology.InthischapterIwanttofocusattention ontheubiquitousskeletonsthatunderliethetwomajormethodological variants(oneosseousinfrastructureforeach).Justastheamazingdiversityofmammalsrestsonbutasingleskeletaldesign,sothetwobasic bonestructuresofsoftwaremethodologycan,andare,fleshedoutin manydifferentways.Itis,however,usefultotakeahardlookatthe essentialelementsofsoftwaremethodologybeforewemoveontoconsiderthewell-paddedelaborationsthatsoftwareengineersandAIpeople actuallyuse,orreject.Inthiswaywecanobtainaclearviewoftherange ofproblemsthatAIsoftwareintroducesintotheconventionallifecycle: aviewunobscuredbythevariousembellishmentsthateachpractical methodologycarrieswithit.Withaclearappreciationoftheseproblems inmind,wewillthenbeinapositiontoexploretheclassicalAl-system developmentlifecycle,andseewhy,despiteitsproblems,itmayprovide thebestbasisforengineeringAIsoftware.