SoftwareEngineering AShortOverview Hans-PetterHalvorsen,M.Sc. Thebeginning... IBM 1911 TheTransistor 1947 Moore’s Law 1965 Internet HP 1939 ThefirstComputer ???? TheTuring machine(Alan Turing, 1936)? Intel ThefistcommercialMicroprocessor (intel4004) 1971 1968 Apple I,1977 Thebeginning Byggesett,måttesettesammen komponentene selv IBMPCwithDOS,1981 Macintosh, 1984 Apple II,1977 Attachascreen andyouareup andrunning Everything is integrated – eventhescreen FirstComputer withGraphicalUserInterfacewithMouse MacOS1.0 Thebeginning 1984:Macintosh 1985:Windows1.0 LabVIEW1.0(for Macintoshonly!) Smartphones Today Ultrabooks Internet Apps Web Smartwatches SmartTVs Tablets Muligheter! Kjennerdudisse?? Muligheter! “Jegglemmer ikkejobbintervjuet, der jegskrevkode påtavlenforandemito dageristrekk.Svettenrant.” “Desistesyvåreneharjeg værtmedpådetsommå væreetavtidenesstørste industrieventyr.” Hvordanserentypiskarbeidsdag utfordeg?– “Detkommer anpåfasenietprosjekt.Tidlig i utviklings- ellerkonseptfasen erdetmyemøter.Vijobber iScrum-prosess meddagligemøter. Seneremotleveringstid erdetmyeutvikling ogkoding.” http://www.digi.no/919886/atle-42-staar-bak-amazon-skyen Vibruker 5minutterpåålese denne artikkelenhverfoross. Dumåtamulighetenenårdebyrseg– mendetkreveshardarbeid!! DetåværeSystemutviklererikkeen9-4jobb! Muligheter! UtvikletavenHiT/TFstudent BestWindows8App WeatherSystem Downloadforfree fromWindowsStore (8.5/10) TelemarkUniversityCollegeWeatherSystem http://home.hit.no/~hansha/?page=weather http://bestwindows8apps.net/telemark-university-college-weather-system http://apps.microsoft.com/windows/en-us/app/telemark-university-college/45635f21-4fd0-4452-ad3c-c7a0caa8c402 SoftwareDeveloper/SoftwareEngineer TypicalJobAd End-User Documentation UserGuides Installation Guides System Documentation SDP SoftwareDevelopment Plan ProjectPlanning GanttChart STD SoftwareTestDocumentation TestPlan TestDocumentation SRS Code SystemDocumentation SoftwareRequirements Specifications GanttChart SDD SoftwareDesignDocuments withERDiagram,UMLDiagrams,CADDrawings Alpha Requirements/Design Plansmadeandapproved Beta Building structurefinished, Insideworkon track RC Foundation finished, building structurestarted A“proof”thatyoucando it,PoC(Proof ofConcept) Furniture, Flowersand smalladjustments missing RTM ReadyforSaleorMovein 13 .....................Iterations/Sprints.................. TheSoftwareisbeeing testedinternallyfrom beginning totheend(everyday) Alpha Beta Beta1 Beta2 Beta3 ... RC RC1 RTM RC2 ... ProjectFinished ProjectStart ReallifeSoftwareDevelopment SoftwareDevelopment SprintReviews &Planning DailyScrum Meetings 2-4weeks Beta,RCTesting 1-12months 24hours Days Weeks WorkingSoftwareatalltimes. Testingeveryday InternalIterations/Sprints Months/Years PublicBeta,RCReleases WhyDoReviews,QualityControlandTesting? WewilldoReviews,QualityControlandTestingat different levelsthrough thewholesofwarelifecycle Costperdefects SDLC(SoftwareDevelopmentLifeCycle) Planning, Requirements, Design, Implementation, Testing, Deployment, Maintenance,etc. Software Development User Whoaregoing touse thesoftware? Application Desktop, Web,Mobile? OperatingSystem Windows, OSX,Linux, Android, iOS,etc. Hardware PC,Mac,Smartphone, Tablet,SmartTV,etc. WindowsServer2016 SoftwareDevelopment Windows10 Clients Wi-Fi Server Ethernet LAN Router Internet TypicalNetwork& Infrastructure OPCServer Web Server Database Server IIS SQLServer SoftwareTeam Stakeholders ProjectManager UXDesigner SoftwareTester SoftwareEngineer Programmer/Developer SoftwareArchitect Youshould tryalltheserolesduring thesemester ASystemEngineerisageneralpersonthatcould beaProgrammer,Architect,Designer,Testerindifferentphasesintheproject,orhe couldbeatesterinoneproject andaprogrammerinanotherproject – allinoneperson. Thatisusuallythecaseinsmallcompanies,while 19 inlargercompaniestheseroles(designer,tester,programmer)couldbeafull-timejob. Scrum AFrameworkfor SoftwareDevelopment Working Softwareat alltimes! Iterativeapproach ScrumatMicrosoft: http://www.youtube.com/watch?v=YR84qH6d7QE&feature=youtu.be ScrumMembers: Scrum AFrameworkforSoftwareDevelopment WorkingSoftwareatalltimes! ProductOwner Designers Developers SprintBacklog Architects ProductBacklog Stakeholders ScrumProcess: Testers ScrumMaster Development Team 3-9persons DailyScrumMeetings Max15min. Sprint Review SoftwareRequirements&Design Requirements(WHAT): • WHAT thesystemshoulddo • DescribewhatthesystemshoulddowithWordsandFigures,etc. • SRS – SoftwareRequirementsSpecification SoftwareDesign(HOW): • HOW itshoulddoit • Examples:GUIDesign,UML,ERdiagram,CAD,etc. • SDD – SoftwareDesignDocument Manydont separateSRSandSDDdocuments, butinclude everything inaRequirements document.Inpractice,requirements anddesign areinseparable. TypicalSoftwareDocumentation 1.Planning 2.Requierements /Design Time ProjectManagement(GanttChart,etc.) Start (Thestakeholders,the softwareteam;architects, UXdesigners, developers) 2.Testing (QApeople) 3.End-user Documentation (Thepeoplethat shallactuallyuse Finish thesoftware) Software Development Plan High-Level Requirementsand DesignDocuments Detailed Requirementsand DesignDocuments TestPlans TestDocumentation System Documentation InstallationGuides UserManuals (SDP) WHAT HOW (SRS) (SDD) ERDiagram(Database) UMLDiagrams(Code) CADDrawings,etc. HowtoTest/ (STP) WhattoTest (STD) Proofthatyou havetestedandthatthe softwareworksasexpected TechnicalStuff (SuperUser/ITdep.) Howtoinstallit Howtouseit (EndUser) YourToolbox Learnedin previous courses FocusinthisCourse • PC • ProgrammingandProgrammingLanguages(e.g., C#) • IDE(IntegratedDevelopmentEnvironment)(e.g., VisualStudio) • SoftwareFrameworks(e.g.,.NET) • SCC Tool(SourceCodeControl)(e.g.,Team FoundationServer,TFS) • ALM Tool(ApplicationLifecycleManagement) (e.g.,TeamFoundationServer,TFS) • KnowledgeaboutbasicSoftwareEngineering (Requirements,Planning,Testing,andDevelopmentProcesseslike Agile, Scrum,etc.) Youcannotdoagoodjobasasoftwaredeveloperwithoutsomepropertools! TeamFoundationServer(TFS)isanApplicationLifecycleManagement(ALM)system TheSoftware Planning Deployment Development Maintenance Lifecycle(SDLC) Testing SDLCManagement Project Management Team BugTracking MSProject Foundation VisualStudio MSExcel Server Implementation Requirements Analysis Collaborationplatform Scrum SourceCodeControl Agile (SCC) Design VisualStudioOnline TeamFoundationServer(TFS) Server Clients LabVIEW MSSCCIProvider Others Eclipse Web Access TFS MS Excel Services MS Project Repository SQLServer Git (TFVC) TeamFoundation Server(TFS)isanApplication LifecycleManagement (ALM)system Visual Studio TeamExplorer File Explorer PowerTools VisualStudioOnline (formerTeamFoundationService) • TFSisaSourceCodeControl(SCC),BugTracking, ProjectManagement,andTeamCollaboration platform • IntegratedwithVisualStudio • TFSintheCloud(Thismeansyoudontneedto hosttheserveryourself) www.visualstudio.com • Freeforupto5users 27 eBooksfromSafariBooksOnline http://proquest.safaribooksonline.com/?uicode=telemark http://proquest.safaribooksonline.com/book/software-engineering-and-development/9781449691998?bookview=overview SoftwareEngineer WhatisagoodSoftwareEngineer/Howtobecomea goodSoftwareEngineer? DiscussioninClass See“PrinciplesofSoftwareEngineering” http://proquest.safaribooksonline.com/book/software-engineering-and-developme nt/9781449691998/ chapte r-3-enginee ring-of-software/49?uicode= telemark fromthebook “Essentialsof SoftwareEngineering” Hans-PetterHalvorsen,M.Sc. UniversityCollegeofSoutheastNorway www.usn.no E-mail:hans.p.halvorsen@hit.no Blog:http://home.hit.no/~hansha/
© Copyright 2025