Upload
truongdieu
View
220
Download
2
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/
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/