Post on 06-Jan-2018
description
Library SystemD104a
Mathias Andersen, Heine Gatten Larsen, Mathias Grund Sørensen, Jakob Haahr
Taankvist
Analyse
System DefinitionThe customers should be able to reserve a book, both
when it is currently available and when it is not.When the customer loans and returns a book, this
should be confirmed by a library staff.The customer should be able to rate previously loaned
books.The students and scientific staff are able to loan a
limited number of books, (5 and 20, respectively), and to reserve an unlimited number of books.
The system should keep track of for how long a customer has loaned a book, as the books can only be loaned for a limited amount of time.
Conflicts
Classes
FunctionsRecommend Title Function
RatingsCompare Ratings by computing MSERandom Recommendations
Delayed Action FunctionRecall loan, timeout reservationRun actions on a daily basis
Goals for use
GUIAnalyzed the usage
Personas Who will use the system
Scenarios What will they do with the system
Analyze the interactionUse cases
How is it doneInteraction spaces
What is done where in the system (subtasks) What classes are used
User interfaces
Technical Platform.NET 4.0 Class Library (.DLL) for Model
LayerASP.NET MVC application for GUIMSSQL for Data Storage
Design
Generic Design DecisionsData Access Layer implements Repository
PatternMakes the model independent of the actual
implementation of the DAL, and enables us to mock the functions of the DAL when testing
System uses The Observer PatternSmooth and flexible boundary between Model
Layer and Function Layer
Component Architecture
Components
Demonstration
BugsYou can’t loan a book which is reserved for
you.Wrong order of if-statements
You can only loan e.g. 5 books even if they are returnedCounts both returned and active loans
TestingEnsuring correctness of the program
TestingTotal (147 tests)
Model components (39 tests)Function components (48 tests)Data Access Layer (60 tests)
Code coverageModel & function layer: 86,33%Data Access Layer: 85,46%Overall: 85,66%
TestingMocks used (except from in DAL tests)
NmockDbdata for DAL tests
Blackbox testingTDD on recommenderWhitebox on searcher
EvaluationUsability evaluation of the graphical user
interface (GUI)
EvaluationOnly evaluated customer part of the system2 evaluation participants
Student and high school graduateUse computers daily, use library rarely
Instant Data Analysis (IDA method)6 tasks to perform
Finding booksReserving booksUpdating account
EvaluationResults
3 critical problems4 serious problems12 cosmetic problems
Critical problems are about searchNo flexibility with misspelled criteriaSlow load timeNo flexibility with keywords
Serious problemsExpects system to remember last searchExpected to be able to cancel reservation from search resultsUnexpected redirect on logonUsers not aware of submenu
Study report
The recommendation algorithmA simple recommendation algorithm
TopN-recommendation Collaborative filtering
Lowest MSE – customer vs. clientQuality of the algorithm
Limited data used Less accurate Random
MSE
ExperiencesA&D
Great blueprint for the implementationNot useful for small systems
TestTDD Unit tests (positive experience - time-consuming)
ImplementationUse TDD or make the unit tests earlier in the
process
ExperiencesIDA
Very positive resultFound 1 problem per minute
ADRIAGood blueprint for designing the GUITime-consuming for less complex GUI