Upload
ngoque
View
215
Download
2
Embed Size (px)
Citation preview
SoftwareEngineering
Hans-PetterHalvorsen
ProjectSelection
B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/
• EachTeamshouldselectoneofthefollowingProjects(write3optionsonthewhiteboard)
• 2differentTeamscannottakethesameProject• If2differentTeamsselectthesameProject,we
needtohaveaLotteryselectionorsomething(fistfight?)
ProjectSelection
ProjectSelectionList1. BigDataandMachineLearning2. InternetofThings(IoT)3. Industry4.0andAutomationSystem4. IoTSystemforEnvironmentalData5. DataLoggingSystem6. WeatherSystem7. ProcessSimulatorSystem8. ProcessControl&Monitoring
SystemYoufindmoreprojectsonthenextslide...
9. HomeAutomationSystem
10. PaymentSystem11. Web-shop12. SocialTeachingNetwork13. StudentAttendance
System14. Game-basedLearning
System15. TeamCalendar
ProjectSelectionList16. Multiple-choiceTestSystem17. ScheduleManager18. DigitalExamSystem19. AssessmentSystem20. WorkSchedulePlanningSystem21. Forum/NetworkCommunity22. OfficeManagementSystem23. BugReportSystem
24. TaskBoard25. EvaluationSystem26. VideoViewer27. LabInventorySystem28. RoomBookingSystem29. EquipmentErrorSystem30. DigitalMultimeter
ApplicationFormoredetails,seenextslides...
SystemSpecifications/Requirements
You needtocreatethespecifications/requirementsindetails!AnimportantpartofthiscourseisaboutRequirementsEngineeringandhowtocreateRequirements/Designatdifferentlevels.
B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/
GUI
High-LevelRequirements
GUI
Application(s)WebForm(ASP.NET)(orWinForm)
VisualStudio/C#PresentationTier
DatabaseSQL
Server
DataTier
DatabaseTables
Views,StoredProcedures
APIBusiness/LogicTier
StructuredQueryLanguage(SQL)
Design,Develop,DocumentandDeploy
ERwinforDatabaseDesign
VisualStudio/C#
1.BigDataandMachineLearningTopics:• DataloggingandcollectionfrommultipleDevicesandSources• MonitoringofthecollectedData• BigDataAnalysisanddevelopment/useofMachineLearning
Algorithms• Module-based:DataloggingModule,ManagementModule,
MonitoringModule,DataAnalysisandMachineLearningModule,...
🔨 Hardware:DAQDevicesT0-01,USB-6008orsimilar
Moreinformation:https://www.halvorsen.blog/documents/technology/machine_learning
Team1
2.InternetofThings(IoT)• DevelopaSystemforhandlingthelargeamountofIoTdevices• FlexibleDatabasestructureforhandlinglargeamountofDevices
andData• DevelopmentofstandardsorintegratewithexistingIoT
communicationprotocolstomakeiteasytointegrateIoTdevicesfromdifferentvendors
• DealingwithSecurityissues• etc.
🔨 Hardware:DAQDeviceUSB-6008orsimilar
Moreinformation:https://www.halvorsen.blog/documents/technology/iot
3.Industry4.0andAutomationSystem
• CreatethenextgenerationAutomationSystem• Industry4.0elementssuchasInternetofThings(IoT),IndustrialInternetofThings(IIoT),cloudhostingandcomputing.
• Module-based:ControlModule,ManagementModule,MonitoringModule,AlarmModule...
🔨 Hardware:DAQDeviceUSB-6008orsimilar
Moreinformation: https://www.halvorsen.blog/documents/technology/industry40
4.IoTSystemforEnvironmentalData• EnvironmentalPublicHealthInformationManagementSystem
(EPH)forcollectionandpresentationofenvironmentaldatainGrenland
• Measure,collectandmonitoringenvironmentalissuesinGrenland
• Aflexibledatabaseneedstobedevelopedforhandlingdifferenttypesofdata
• DataAnalysisandStatistics
🔨 Hardware:DAQDeviceUSB-6008orsimilar
Moreinformation:https://www.halvorsen.blog/documents/projects/projects/eph.php
5.DataLoggingandMonitoringSystem• ThisAppshouldbeusedby“everybody”thatneedtologdata,buthaveno
programmingexperience.ThismeanstheAppneedstobehighlyconfigurable.• ReadDatafromDAQdeviceandplotthemintoaChart• PossibletoLogDatatoDatabaseandFiles.PossibletologfrommultipleDAQdevices?• DeviceInformation(DAQDevice)
– DeviceName,Vendor,Channels,...
• Configuration:– LoggingInterval– TerminalWiring(Differential/RSE),NumberofChannels(USB-6008:Differential:0-3,RSE:0-7)– ScalingforeachChannel(Volt->EngineeringUnit)– Start/StopLogging,LoggingSchedule(From/ToDateTime)– ...
• Module-based:LoggingModule,ConfigurationModule,MonitoringandAnalysisModule,...
🔨 Hardware:DAQDeviceUSB-6008orsimilar
Moreinformation:https://www.halvorsen.blog/documents/technology/datalogging
6.WeatherSystem• LoggingandPresentationofDatafromdifferentSensors,suchas
Temperature,AirPressure,...• LoggingWeatherDatafromdifferentsensorstotheDatabase• MonitoringandPresentationofWeatherData• Modulebased,i.e.TheAdministration,LoggingandPresentation
shouldbedifferentmodules?• Shouldbeabletoadd(orremove)newsensorswithoutchanging
theDatabaseDesign(tables) orHMI/GUI
🔨 Hardware:DAQDevice,e.g.TC-01,USB-6008/myDAQ
Moreinformation:http://home.hit.no/~hansha/weather.htm
Team2
7.ProcessSimulatorSystem• DevelopmentofProcessSimulatorSystem,includingdifferenttypes
ofsimulatedprocesses(LevelSystem,Reactor,...)andcontrolstrategies(PID,..)
• ShouldbeusedinteachingofControlTheoryandControlprinciples,e.g.,inthecourse“Automatiseringsteknikk”orsimilarcourses
• Themostcommoncontrolprinciplesshouldbeimplemented(PID,Feedforward,...)
• Possibletousedifferentprocesses(leveltank,...)• Itshouldbemodularized,meaningitshouldbeeasytoaddnew
simulatorslater• Webbased?(thennolocalinstallationisneededontheclients)
🔨 Hardware(optional):LevelTank,AirHeater,USB-6008
8.ProcessControl&MonitoringSystem• SCADAsystem(SupervisoryControlandDataAcquisition)• Themainfunctionalityofthesystem:Control,Datalogging,Monitoring,Show
Alarms(theseshouldbedifferentmodules)• AlldatashouldbestoredinaSQLServer• Controlone(ormore)oftheMiniatureProcessModelsatHiT (e.g.,AirHeater,
LevelTank,2-Tank,...).Shouldbepossibleto“easily”addseveralprocesses• Inadditiontocontrolrealsystems,simulationsusingmathematicalmodels
shouldbepossible• Itshouldbemodularized(Control,Datalogging,monitoring,...shouldbe
separatemodules)
🔨 Hardware:LevelTank,AirHeater,USB-6008Moreinformation:https://www.halvorsen.blog/documents/technology/scada
9.HomeAutomationSystem• Asystemforloggingdata,monitoringandcontrolofdifferentdevicesinthe
Home• AllData(Temperature,...)shouldbestoredinacentralSQLServerDatabase• Possibletoseestatusinformationforthedifferentdevicesthatare
connected• Module-based(loggingdata,monitoringandcontrolshouldtypicallybe
differentmodules)• Possibletoaddnewdeviceswithoutchangingthedatabasestructure• WebAPIforImport/ExportofData
🔨 Hardware:DAQDevice,e.g.USB-6008,myDAQ
Moreinformation:https://www.halvorsen.blog/documents/projects/projects/smart_buildings.php
10.PaymentSystem• Shopterminal(likewehaveingroceriesstores)• TheSystemAdministratorshouldbeabletoAdd/EditItems(Name,barcode,price,numberinstock,...)AseparateModuleforthis?
• Thesalesmanneeds tologin beforehecanuseit• PossibletoScanitems basedonBarcodes• Paymentsolution,Cashonly?Paypalintegration?• Possibletosee salesinformation,howmuchyouhavesold,etc.AseparateModuleforthis?
🔨 Hardware:BarcodePrinter,BarcodeReader,RFIDReader
11.Web-shop• OnlineWebshopthatcanbeusedtosellitemsontheInternet(it
couldbee.g.,books,CDs,antiques,...)• AdministratorshouldbeabletoAdd,Edit,DeleteItemsand
inventoryinformation.AseparateModuleforthis(Thismoduledoesn'tneedtobeawebmodule)?
• Theusershouldbeabletosearchandadd(andremove)itemstoaShoppingCart.
• Paymentsolution(Paypalintegration?)• Thesystemshouldbegeneric/configurabletobeabletosellall
kindsofitems🔨 Hardware:Nohardwareneeded(exceptPC)
Team4
12.SocialTeachingNetwork• CreateaSocialTeachingNetwork• “Facebook@Work”/”Facebook@School”• Thesystemcouldbeusedinteaching,communication,etc.
• Thestudentscoulduseittowritemessagesorquestionstotheteacherortootherstudentsinacourse,class,studyprogram,etc.
• Itshouldbepossibletohaveinternal(discussion-) groupswithindifferentClassesandCourses,etc.
• AseparateMessengermodule(InstantMessaging)?• AseparateConfigurationModule?
13.StudentAttendanceSystem• Systemforrecordingattendance• Insomecourses(oratleastsomepartsofit,e.g.labwork,etc.)
havecompulsoryattendance• AnAdministatorshouldbeablesetupnewattendances(e.g.a
lab,acourse,aseminar,anexcursion,etc.).Itcouldbeonetimeorawholesemester.AseparateModuleforthis?
• TheMATLABcourseislikethis,thestudentscannotbeabsentmorethan3timesinordertobeable totakethefinaltest/examandinordertogetadiploma
• Itshouldbegeneric,soeverybodythatneedsanAttendanceSystemcanuseit
🔨 Hardware:e.g.,RFIDReader,BarcodeReader,etc
14.Game-basedLearningSystem• CreateaGame-basedLearningSystem• Shouldbeusedtomakelearningmorefun,e.g.inthiscourse(if
possibleJ)• Administratorshouldbeableto,e.g.,createmultiple-choice
questionswithanswers.AseparateModuleforthis?• Theusersneedstoenteracodeinordertoenterthequiz.Multiple
usersshouldbeabletotakethequizatthesametimeshowingtheresultsontheAdministratorsPCinreal-time
• Seehttps://getkahoot.com andhttps://kahoot.it forinspiration
Team3
15.TeamCalendar• AsharedCalendarforseveralpersonsinaTeam(ora
company,department,etc.)• WebbasedCalendarview• AseparateModulethatimportsAppointmentsfromOutlook• SimpleinterfaceforaddingAppointments,callinsick,etc.• PrimaryuseatHiT/TFonalargeTVscreeninthehall,butalso
ontheTeammemberspersonalcomputers(differentmodules?)orSmartphonesandTablets
• AccessControl:AccesstogroupsorindividualCalendars,etc.• Day,WeekandMonthview
🔨 Hardware:Nohardwareneeded(exceptPC)
16.Multiple-choiceTest/ExamSystem• ThesystemshallspecificallybeusedintheMATLABcourse(butmaybe
usedinanysituationwhereyouneedatest/examwithmultiplechoice,soitneedstobegeneric)
• AnAdministratorshouldbeabletocreatenewtestsandquestionswithinthattest,setnumbersofquestionforagiventest,etc. Gradecriteria(0-100%,Approved/NotApproved,A-F).SeparateModule?
• Theuserneedstoregisterinformationabouthimself,beforehecantakeatest(Name,Class,etc.)
• Beforetheusercantakethetest,e.g.acodeneedstobeentered• Theusershouldbepresentedonequestionatthetimeinasequenceor
randomorder(foreachtestshouldhaveabankwithquestionsitcanpickfrom)
• Whenfinished, theusershouldbeabletoprintadiploma• Administratorshouldbeabletoseetestresults,statistics,etc
17.ScheduleManager• Systemforcreating(Webbased)Schedules (Norwegian:”Fremdriftsplan”)for
thedifferentcoursesatHiT(orotherschoolsforthatmatter)• MulipleTeacherinacourseshouldbeabletoeditthecourseschedule• ShouldbeabletoaddTopicstext,AttachDocuments(pdf)suchasExercises,
powerpoints,andotherresources• DifferentViewsshouldbepossible,Semesterviewwithallweeksinonepage
andWeek/DayViewsfordetails?• Overviewpagewithallcoursesandlinktoscheduleforeachcourse.You
shouldonlyseethecoursesthatyouareapartof• PossibletoaddalinktothescheduleinthecorrespondingFronterroom• (seethescheduleforthiscourseforinspiration)
18.DigitalExamSystem• AsystemforhavingdigitalexamswherestudentscanusetheirownPC
• Ateachershouldusethissystemtocreatetheexamquestions (andsuggestedsolutions?)inadditiontoAddinformationsuchasExamName,Class,aids,time,teachers,etc.
• Inadditiontowritesimpletextanswers,itshouldbepossibletouploaddocuments,drawings,codefiles,etc.
• Whentheexamisfinished,theteachershouldgetaccessthetheanswersforsettinggrades,givecomments,“sendit”toanexternalsensor,etc.
19.AssessmentSystem• Usedbyteacherforgradingassignments,reports,labwork,
etc.(i.a.apdfreport)• ShouldbepossibletouploadtheTask/Assignmentasapdffile• ShouldbepossibletouploadtheStudentsanswers(pdf
report)• Possiblefortheteachertowritecommentsandgivegrades• Multipleteacherandsensorsshouldbeabletoseethe
studentwork,givecommentsandpreliminarygrades• Possibletousedifferentscales(0-100%,A-F,includingthenew
AssessmentFormusedforBachelor/MasterThesis)• AccesscontrolandLoginpossibilities
20.WorkSchedulePlanningSystem• WorkSchedulePlanningSystemusedforPlanningyourweeklyanddailywork.
• MakeTo-DoLists• PossibletocreatedifferentCategoriesorgroupyourTo-DoItems
• PossibletohavepersonallistandlistssharedbyaTeam
• TimeEstimates,etc.Example:https://todo.microsoft.com
21.Forum/NetworkCommunity• CreateaWeb-basedForum/NetworkCommunity
• Itisusedtogivecommentsandfeedbackonnewsarticles,blogposts,questionsandanswers,etc.
• Seehttps://disqus.com forinspiration.Disqusisusedonlotsofwebsites
• ShouldbepossibleforAdministratortoapprove,delete,etc.
• Shouldbepossibletoincludeinyourpersonalwebsiteorblog.
22.OfficeManagementSystem• RegistrationofOfficeInformationatUSN– Location,Building,OfficeNumber,EmployeeName,WorkTitle,OfficeSize,Department,Equipment(PC,..)
• PossibletoexecutedifferentkindsofReports(SearchforspecificinformationintheDatabase)
• AutomaticallysendingE-mailtoDriftorITdepartment
• PrintDoorsigns
23.BugReportSystem• ASystemthatkeeptrackofallBugsandNewFeatures.
• Shouldbeeasyandintuitivetotouse.VSTShastomanyfeaturesandmaybealittlecomplicatedtouse.
• PossibletoAddNewBugsandFeatures• Possibletoset“ResponsiblePerson”• PossibletochangeStatus,suchas“New”,“Fixed”,“Closed”,etc.
• Searchfeatures,e.g.,see“Allbugs”,“MyBugs”
24.TaskBoard• SystemusedinProjectManagementandPlanning– Makea“ScrumTaskBoard”thatiswaysimplertousethanVSTS
• SystemforcreatingTasksandAssignthemtospecificPersons,SetDeadline,NumberofHours,etc.
• SetStatuslike“ToDo”,“InProgress”,“Done”
Example
25.EvaluationSystem• TogivefeedbackonTeaching,LabWork,StudentPresentations,submittedwork,etc.
• TheAdministratorshouldbeabletocreateasetofQuestions.AseparateModuleforthis?
• Multiplechoice,textanswers,0-100%,1-6,...• TheAdministratorshouldbeabletoseethetestresultsandsomeStatistics
• Accesscontrol,Administrators,Users,...• AstandardizedAssessmentFormforBachelor/MasterThesisshouldbeincluded
26.VideoViewer• Web-basedVideoViewerforshowingVideosfromdifferentsources,e.g.,YouTube,Mediasite,localvideos,...
• PossibletoAddandStructureVideosintologicalGroups,Playlist,etc.
• GUIforViewingtheVideos• PossibletoRateandgiveComments
• etc.
Prototype
27.LabInventorySystem• OverviewofLaboratoryEquipment(Name,Type,Numberof
Units,Vendor,...)• Shouldbepossibletoloanandreturnequipments(likebooks
inalibrary)• Administratorshouldbeabletoadd/editlaboratoryitems• Administratorshouldseelistofexistingloans• BarcodePrintingmodule(Printingbarcodelabelsonthe
equipment)• BarcodeorRFIDscanning shouldbepossiblewithaseparate
module🔨 Hardware:BarcodePrinter,BarcodeReader,RFIDReader
28.RoomBookingSystem• Shouldbeusedforbookinge.g.,Grouprooms,Meetingrooms,etc.
• AdministratorshouldbeabletoAdd(orremove)newrooms,etc.AseparateModuleforthis?
• Usersneedtoregister/loginbeforeuse• Shouldbepossibletoseefree,occupiedrooms,etc.• Statistics.Whichroomsaremostinuse,etc.• Itshouldbegeneric,soeverybodythatneedsaRoomBookingSystemcanuseit
29.EquipmentErrorSystem• SystemforregisteringandhandlingEquipmentErrors• Possibleforstudentsandemployeestoreportequipmentthathaserrors(EquipmentName,Model,Number,..)
• Whensomeonereportserrors,itshouldtypicallysendanemailtoresponsibleperson
• Work Lists(AlistofEquipmentthatneedstobefixed).Arepairmancanthenprioritizeandfixit,setstatus,addinformation,etc.
• Statistics.Whichequipmentcontainsmanyerrors,etc.🔨 Hardware:e.g.,RFIDReader,BarcodeReader,etc.
30.DigitalMultimeterApplication• CreateanApplicationthatreplacesatraditionalmultimeter• WeshouldcreateanapplicationaroundaDACdevicesuchas
USB-6008tocreateadigitalmultimeterapplicationthathasmultipleinputchannelsandalsomultipleoutputchannels
• Auser-friendlyandintuitiveGUIisimportant• Shouldbeeasytoconfigure• PossibletosavedatatotheDatabase,exportdatatoExcel,..• Oscilloscopefeatures,FunctionGenerator,etc.• API
🔨 Hardware:DAQDeviceUSB-6008orsimilarForInspiration:http://www.ni.com/en-no/shop/electronic-test-instrumentation/virtualbench/what-is-virtualbench.html
Let'sgetstarted!
Comparedtoothercourses,youneedtostartworkingfromday1!!
Ifyouarelaggingbehindfromthebeginning,youwillhaveproblemscatchingup!
B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/
PlanyourWorkProperly
B.Lund.Lunch.Available:http://www.tu.no/tegneserier/lunch
Ifyouplanyourworkproperlyandworkharddaybyday,everythinggetssomuchbetter
Hans-PetterHalvorsen
UniversityofSoutheastNorwaywww.usn.no
E-mail:[email protected]:https://www.halvorsen.blog