Software Development Fundamentals

17
Software Development Fundamentals General Software Development Application Life-Cycle Management This is the typical Life-Cycle management for an application. Is a key process to help us. The first step is Requirements. Before we decide to create a software, we need to envision a product, a software. Once we come up with the idea, we need to find the requirements: features, what to do, the result we want, etc. Normally this requirements are documented to explain what are the specifications and goal of our application. After this, we need to create the Design. Different ways to program, different architecture to achieve what we want to do. We are creating a design how the application work and how we are going to create it . Storyboards can be used to see how the application flows on the user interface. Next we go to Development, the people who write the code. They create a Technical Specification, a document that dictates how we are going to actually create the functionality in code. What technologies to use, what data structures to implement, how to access data, etc.

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+