Software Development Fundamentals

Post on 24-Aug-2015

24 views 3 download

Tags:

description

Software Development Fundamentals

Transcript of Software Development Fundamentals

Software Development FundamentalsGeneral Software DevelopmentApplication Life-Cycle ManagementThis is the typical Life-Cyclemanagement for an application !s a "eyprocess to help usThe #rststep isRequirements.$efore we decidetocreate a software% we need to envision a product% a software &nce we comeup with the idea% we need to #nd the requirements: features,what to do%theresult wewant, etc.'ormallythisre(uirementsaredocumentedtoe)plain what are the speci#cations and goal of our applicationAfter this% weneedto create theDesign.Di*erent ways to program%di*erentarchitecturetoachievewhatwewanttodoWearecreatingadesign howthe application work and howwe are going to create itStory+oardscan+eusedtoseehowtheapplication,owsontheuserinterface'e)t we go to Development% the people who write the code They create aTechnical Specifcation,adocument that dictates howwearegoingtoactuallycreatethefunctionalityincode -hattechnologiestouse% whatdata structures to implement% how to access data% etc Then we have Test.We have testing during the development process% totest part of code .small parts/ Then we have the test team They loo" at thefunctional speci#cation% "now and understand what the program issupposed to do and then write automated test routines to chec" thefunctionalities There is also user acceptance testwere users test our #nalcode The ne)t phase is Maintain.After we release our application% we need tomaintain -ecanrecordpiecesofinformationa+outhowitoperates% forperformancechec"ing% searchfor+ugs% etc !simportanttomaintainourcode Fi) +ugs% launch new versions% chec" for security% etcApplication Speci#cationSometimes it can +e called functional speci#cations% +ut is the part of thelife-cycleprocess ThemoreimportantpartsforasoftwaredeveloperareFeature List and Feature &verview The Feature List gives the descriptionof what wewant tohaveasaresult% andwhattodotoendthere Fore)ample% chec"ing a price0!tonlye)plainswhatwewanttodo%nothowtodoit -egodeeperonfeature overview.Feature Overview shows us what pro+lems we want tosolve and how to get there This documents are normally created on the 1#rst stepsof thelife-cycleof our application &ntheDesignphasewedecide what the user will see and not see Core 2rogramingComputer StorageThisexplains how a computer stores information and it processesinformation Computers use +inary concept% 3 and 4% on or o* 2hysically weare dealing with the presence of voltage or no voltage -e need to haverepresentations for Character Sets, sym+ols that ma"e up the words andletters we use -e represent them with series of 3 and 4% bits and bytes A3 or a 4 is a bit. -hen we start to aggregate them we start to have bytes,megabytes, gigabytes, etc. Whenacomputer runsaprogram, cant runit directlyromastorage device.It has to access that information directly incomputer memory (RAM) -e only can use a certain amount of memory%not an unlimited amount That gives us some restrictions -ealsohaveASC! charts% whichisawaytorepresentspecial sym+ols%punctuation mar"s% letters and num+ers on our +inary system &urprogramming languages today are on a hinger level% so we don5t program in4and35sProgramminglanguageallows towritecodeusingasimilarsntaxto!nglish,andthecompiler inthe+ac"groundthat ta"esthoseinstructions and e)ports into a +inary version that the computer canunderstand"lsodependingonthe#P$weareusing, weneedspecifcinstruction sets. 6aria+les% Constants and Data Types Variale 7 provides a temporar, named storage location in computermemory Computersdeal withmemoryaddresses -ithvariables,name storage locations, we save this information to that memoryaddress% +ut the computer does all the mapping 8ust need toremem+er thenameof the varia+leCanchangevalues o avariable. !onstant 7 either a named storage location or literal valueCannotbechangedduringprograme!ecution -ecanstill assignavalue to a constant%ut we need to do it when we create theconstant. Can read the value% +ut not change during e)ecutionLiteral constants are something li"e num+er 4% letter C% etc -e can5tchange those values 4 will always +e 4% etc We can store a constantin a varia%le. For e)ample num+er 9 4% where num%er is the varia%leand & the constant. Data Types 7 numeric% character% special-eusespeci#c datatypes +ecausethecomputer needs to"nowthat+ecauseof theoperationswemightwant toperformwithour data Fore)ample using : with te)t and num+er Mathematically we can3t do it% sothe computer doesn5t "now what to doAlso when the compiler sees the data type it knows how much memor toset aside for that varia%le Data Structures -e need to store multiple pieces of potentially related information Some ofthe data structures availa+le are0 Arrays Stac"s ;ueues DictionariesArraysAn array is a collection o similar data types accessed by inde!. Fore)ample we have this array e)ample0-ecan5t forget that theystorethesamedatatype 'ormallywehavestrings% numeric values% or in &&$% a collection of o+