34
IA4412 – Software Engineering Hans-Petter Halvorsen, M.Sc. Project Selection B. Lund. Lunch. Available: http://www.lunchstriper.no, http://www.dagbladet.no/tegneserie/lunch/

Project Selection - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/project...• If 2 different Teams select the same Project, we need to have a Lottery selection

Embed Size (px)

Citation preview

IA4412– SoftwareEngineering

Hans-PetterHalvorsen,M.Sc.

ProjectSelection

B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

• EachTeamshouldselectoneofthefollowingProjects(write3optionsonthewhiteboard)

• 2differentTeamscannottakethesameProject• If2differentTeamsselectthesameProject,we

needtohaveaLotteryselectionorsomething(fistfight?)

ProjectSelection

ProjectSelectionList20171. DataLoggingSystem2. Multiple-choiceTestSystem3. PaymentSystem4. Web-shop5. WeatherSystem6. ProcessSimulator7. SocialTeachingNetwork8. ProcessControl&MonitoringSystem9. StudentAttendanceSystem10. Game-basedLearningSystem11. TeamCalendar12. HomeAutomationSystem13. ScheduleManager

14. DigitalExamSystem15. AssessmentSystem16. WorkSchedulePlanningSystem17. Forum/NetworkCommunity18. OfficeManagementSystem19. BugReportSystem20. TaskBoard21. EvaluationSystem22. VideoViewer23. LabInventorySystem24. RoomBookingSystem25. EquipmentErrorSystem

Formoredetails,seenextslides...

SystemSpecifications/Requirements

You needtocreatethespecifications/requirementsindetails!AnimportantpartofthiscourseisaboutRequirementsEngineeringandhowtocreateRequirements/Designatdifferentlevels.

B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

High-LevelRequirements

ThenextslideswillgiveanoverviewoftheHigh-LevelRequirementsforalltheProjects

GUI

High-LevelRequirements

GUI

Application(s)WinForm,WPF/XAML,WebForm (ASP.NET)

VisualStudio/C#PresentationTier

DatabaseSQL

Server

DataTier

DatabaseTables

Views,StoredProcedures

APIBusiness/LogicTier

StructuredQueryLanguage(SQL)

Design,Develop,DocumentandDeploy

ERwinforDatabaseDesign

VisualStudio/C#

1.DataLoggingSystem• ThisAppshouldbeusedby“everybody”thatneedtologdata,buthaveno

programmingexperience.ThismeanstheAppneedstobehighlyconfigurable.(e.g,Eivind Fjeldalen isatypicalEnd-UserofthisApplication)

• 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

2.Multiple-choiceTest/ExamSystem• ThesystemshallspecificallybeusedintheMATLABcourse(butmaybeusedin

anysituationwhereyouneedatest/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

🔨 Hardware:Nohardwareneeded(exceptPC)

3.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

4.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)

5.WeatherSystem• LoggingandPresentationofDatafromdifferentSensors,suchasTemperature,AirPressure,...

• LoggingWeatherDatafromdifferentsensorstotheDatabase

• MonitoringandPresentationofWeatherData• Modulebased,i.e.TheAdministration,LoggingandPresentationshouldbedifferentmodules?

• Shouldbeabletoadd(orremove)newsensorswithoutchangingtheDatabaseDesign(tables) orHMI/GUI

🔨 Hardware:DAQDevice,e.g.USB-6008/myDAQ

6.ProcessSimulator• ShouldbeusedinteachingofControlTheoryandControlprinciples,e.g.,inthecourse“Automatiseringsteknikk”orsimilarcourses

• Themostcommoncontrolprinciplesshouldbeimplemented(PID,Feedforward,...)

• Possibletousedifferentprocesses(leveltank,...)• Itshouldbemodularized,meaningitshouldbeeasytoaddnewsimulatorslater

• Webbased?(thennolocalinstallationisneededontheclients)

🔨 Hardware(optional):LevelTank,AirHeater,USB-6008

7.SocialTeachingNetwork• CreateaSocialTeachingNetwork• “Facebook@Work”/”Facebook@School”• ThesystemshouldbeusedinteachingatHiT/TF• Thestudentscoulduseittowritemessagesorquestionstotheteacherortootherstudentsinacourse,class,studyprogram,etc.

• Itshouldbepossibletohaveinternal(discussion-)groupswithindifferentClassesandCourses,etc.

• AseparateMessengermodule(InstantMessaging)?• AseparateConfigurationModule?

🔨 Hardware:Nohardwareneeded(exceptPC)

8.ProcessControl&MonitoringSystem• SCADAsystem(SupervisoryControlandDataAcquisition)• Themainfunctionalityofthesystem:Control,Datalogging,

Monitoring,ShowAlarms(theseshouldbedifferentmodules)• AlldatashouldbestoredinaSQLServer• Controlone(ormore)oftheMiniatureProcessModelsatHiT

(e.g.,AirHeater,LevelTank,2-Tank,...).Shouldbepossibleto“easily”addseveralprocesses

• Inadditiontocontrolrealsystems,simulations usingmathematicalmodelsshouldbepossible

• Itshouldbemodularized(Control,Datalogging,monitoring,...shouldbeseparatemodules)

🔨 Hardware:LevelTank,AirHeater,USB-6008

9.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:RFIDReader

10.Game-basedLearningSystem• CreateaGame-basedLearningSystem• Shouldbeusedtomakelearningmorefun,e.g.inthiscourse(if

possibleJ)• Administratorshouldbeabletocreatemultiple-choicequestions

withanswers.AseparateModuleforthis?• Theusersneedstoenteracodeinordertoenterthequiz.Multiple

usersshouldbeabletotakethequizatthesametimeshowingtheresultsontheAdministratorsPCinreal-time

• Seehttps://getkahoot.com andhttps://kahoot.it/#/ forinspiration

11.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)

12.HomeAutomationSystem• Asystemforloggingdata,monitoringandcontrolof

differentdevicesintheHome• AllData(Temperature,...)shouldbestoredinacentralSQL

ServerDatabase• Possibletoseestatusinformationforthedifferentdevices

thatareconnected• Module-based(loggingdata,monitoringandcontrolshould

typicallybedifferentmodules)• Possibletoaddnewdeviceswithoutchangingthedatabase

structure• WebAPIforImport/ExportofData

🔨 Hardware:DAQDevice,e.g.USB-6008,myDAQ

13.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)

🔨 Hardware:Nohardwareneeded(exceptPC)

14.DigitalExamSystem• AsystemforhavingdigitalexamswherestudentscanusetheirownPC

• Ateachershouldusethissystemtocreatetheexamquestions (andsuggestedsolutions?)inadditiontoAddinformationsuchasExamName,Class,aids,time,teachers,etc.

• Inadditiontowritesimpletextanswers,itshouldbepossibletouploaddocuments,drawings,codefiles,etc.

• Whentheexamisfinished,theteachershouldgetaccessthetheanswersforsettinggrades,givecomments,“sendit”toanexternalsensor,etc.

🔨 Hardware:Nohardwareneeded(exceptPC)

15.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

🔨 Hardware:Nohardwareneeded(exceptPC)

16.WorkSchedulePlanningSystem• WorkSchedulePlanningSystemforEmloyeesatTUC(Norwegian:”Arbeidsplaner”)

• UsedforPlanning.WhatshalltheEmployeesdoduringtheyear?(AutumnandSpringSemester)

• WhoworksonthedifferentCoursesandotherActivities,HowmanyhourstheyshalluseondifferentActivities,etc.

🔨 Hardware:Nohardwareneeded(exceptPC)

17.Forum/NetworkCommunity• CreateaWeb-basedForum/NetworkCommunity

• Itisusedtogivecommentsandfeedbackonnewsarticles,blogposts,questionsandanswers,etc.

• Seehttps://disqus.com forinspiration.Disqusisusedonlotsofwebsites

• ShouldbepossibleforAdministratortoapprove,delete,etc.

🔨 Hardware:Nohardwareneeded(exceptPC)

18.OfficeManagementSystem• RegistrationofOfficeInformationatUSN– Location,Building,OfficeNumber,EmployeeName,WorkTitle,OfficeSize,Department,Equipment(PC,..)

• PossibletoexecutedifferentkindsofReports(SearchforspecificinformationintheDatabase)

• AutomaticallysendingE-mailtoDriftorITdepartment

🔨 Hardware:Nohardwareneeded(exceptPC)

19.BugReportSystem• ASystemthatkeeptrackofallBugsandNewFeatures

• PossibletoAddNewBugsandFeatures• Possibletoset“ResponsiblePerson”• PossibletochangeStatus,suchas“New”,“Fixed”,“Closed”,etc.

• Searchfeatures,e.g.,see“Allbugs”,“MyBugs”🔨 Hardware:Nohardwareneeded(exceptPC)

20.TaskBoard• SystemusedinProjectManagementandPlanning

• SystemforcreatingTasksandAssignthemtospecificPersons,SetDeadline,NumberofHours,etc.

• SetStatuslike“ToDo”,“InProgress”,“Done”

🔨 Hardware:Nohardwareneeded(exceptPC) Example

21.EvaluationSystem• TogivefeedbackonTeaching,LabWork,Student

Presentations,submittedwork,etc.• TheAdministratorshouldbeabletocreateasetof

Questions.AseparateModuleforthis?• Multiplechoice,textanswers,0-100%,1-6,...• TheAdministratorshouldbeabletoseethetestresultsand

someStatistics• Accesscontrol,Administrators,Users,...• AstandardizedAssessmentFormforBachelor/Master

Thesisshouldbeincluded🔨 Hardware:Nohardwareneeded(exceptPC)

22.VideoViewer

• Web-basedVideoViewerforshowingVideosfromdifferentsources,e.g.,YouTube

• PossibletoAddandStructureVideosintologicalGroups

• GUIforViewingtheVideos

🔨 Hardware:Nohardwareneeded(exceptPC)

Prototype

23.LabInventorySystem• OverviewofLaboratoryEquipment(Name,Type,Numberof

Units,Vendor,...)• Shouldbepossibletoloanandreturnequipments(likebooks

inalibrary)• Administratorshouldbeabletoadd/editlaboratoryitems• Administratorshouldseelistofexistingloans• BarcodePrintingmodule(Printingbarcodelabelsonthe

equipment)• BarcodeorRFIDscanning shouldbepossiblewithaseparate

module🔨 Hardware:BarcodePrinter,BarcodeReader,RFIDReader

24.RoomBookingSystem• Shouldbeusedforbookinge.g.,Grouprooms,Meetingrooms,etc.attheuniversity

• AdministratorshouldbeabletoAdd(orremove)newrooms,etc.AseparateModuleforthis?

• Usersneedtoregister/loginbeforeuse• Shouldbepossibletoseefree,occupiedrooms,etc.• Statistics.Whichroomsaremostinuse,etc.• Itshouldbegeneric,soeverybodythatneedsaRoomBookingSystemcanuseit

25.EquipmentErrorSystem• SystemforregisteringandhandlingEquipmentErrors• Possibleforstudentsandemployeestoreportequipmentthathaserrors(EquipmentName,Model,Number,..)

• Whensomeonereportserrors,itshould typically sendanemailtoresponsibleperson

• WorkLists(AlistofEquipmentthatneedstobefixed).Arepairmancanthenprioritizeandfixit,setstatus,addinformation,etc.

• Statistics.Whichequipmentcontainsmanyerrors,etc.

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,M.Sc.

UniversityCollegeofSoutheastNorwaywww.usn.no

E-mail:[email protected]:http://home.hit.no/~hansha/