T1-Tagged Object Finder
From SoftwarePractice.org
Contents |
Group Members
1. Girma F. Adane 10364634
Click here to activate Girma's LogBook
2. Nael Altoon 95094138
Click here to activate Nael's LogBook
3.Ashoka Ananda
Click to activate Ashoka's LogBook
Click here for Team-1 Project Logbook
Project Introduction
This project is aimed to design an application software as part of a mobile device that allow us to find and locate an object which is tagged with RFID (Radio Frequency Identification) with in a specified range of diameter.
Project specification
Tagged Object Finder
This application helps you find and locate objects which are tagged with an RFID (Radio Frequency Identification). The application is part of a mobile device that includes hardware for reading the data from RFID tags. The tag reader can pick up RFID tags within a radius of 10 metres. When the user selects the ‘Find nearby objects’ function, the device scans for any RFID tags in its vicinity. A map is drawn on the screen showing the location of any found tagged objects in relation to the mobile device. The distance between each tagged object and the device is calculated and displayed on the map. Each tagged object can be selected on the screen, and interrogated for any associated information. It can be added to the store of previously found tagged objects. If the tagged object already exists in the store, then its location data is updated with the current reading. The store of tagged objects can be browsed. Tagged objects can be edited or deleted from the store. You need to read up on RFID tags and include your working assumptions about them on your Wiki documentation. You need to carefully design the software interfaces to the hardware components, so that simulated data can be used in the prototype. Include a sketch of the various hardware and software components, clearly showing the interfaces.
What is RFID
RFID stands for Radio-frequency identification.It is an automatic identification method, relying on storing and remotely retrieving data using devices called RFID tags or transponders.
An RFID tag is an object that can be stuck on or incorporated into a product, animal, or person for the purpose of identification using radiowaves. Some tags can be read from several meters away and beyond the line of sight of the reader.
Most RFID tags contain at least two parts. One is an integrated circuit for storing and processing information, modulating and demodulating a (RF) signal and perhaps other specialized functions. The second is an antenna for receiving and transmitting the signal. A technology called chipless RFID allows for discrete identification of tags without an integrated circuit, thereby allowing tags to be printed directly onto assets at lower cost than traditional tags.
Wikipdia accessed on 2007-08-20
MUP(Miniature Unified Process)Phases
Inception Phase
Stakeholders
The table below shows the stakeholders and their concerns repectively.
Key Risks
As in every project, we identified number of risks that could be cause project to be delayed or to minimised its functionality. For this project identified risks as follows.
- An unexpected delay can be occur due to;
- Insufficient time aliocation for each aspect of the project
- Change of project rerquirements during the development stages.
- Underestimation of work onvolved.
- Malfuntioning of the final product can be due to;
- Poor softwear implementaion.
- Insufficient signal strength for scanner.
- Interference from other mobile devices.
- Also ther are some desiging risks such as,
- The final design is not user friendly.
- Inaccurate readings.
Usage Scenarios
Scenario 1
- Bob is working in a large wine store and received a new stock of expensive scotch recently. He tagged each bottle when they were at dock area and put them away.Later in the week Bob found three scotch bottles are missing and he scan all shelves in the store with his mobile scanner and found those missing bottles had been moved to another shelf.
- From tomorrow Bob having a promotion sale starting, so this evening Bob scanned selected brand of scotch bottles on his mobile scanner and select each bottle on the screen. Then he reduced current price by $5.00 and update new price.
- This morning a customer accidentally dropped a bottle of scotch on the floor. Bob scan the bottle and select it on his mobile scanner, where he delete the item from stored data list.
- A new sales assistant 'Dave' been asked to find a bottle of 'XX scotch' he went scotch selves and scan nearby area. A scanner shows a bottle of 'XX scotch' at 8 meters away form him to his left hand side.
Interface sketches
Elaboration Phase
Use cases
Essential use cases
Class brief Descriptions
GUI:
Graphical user interface, It displays scanned items around 10m radius. All interaction with users will be via this class. The GUI provides a SCAN, SAVE, DELETE,UP, DOWN, LEFT and RIGHT buttons for item selection. It displays change in size and shape when an item is selected.
Simulate:
Simulates an artificial environment and makes an array of items. It returns thoese created items to the item class. This class can be improved by including a random generation of items.
Control:
This class controls any user request and pass it to appro parte classes. It also controls curser’s position in relative to items location.
Item:
An item class graphically create an item with default size,colour,ID and position that can be manipulated and draw itself on a canvas. Also it has methods to return above parameters of an item.
SavedList:
This class is designed to manage an item list that contains Item objects. All the save and delete operation will be performed under this class. It acts as a temporary storage while the program is under operation.
CRC Cards
Initial Version
Final Version
Class Diagram
Initial Version
Final version
Sequence Diagrams
Initial version
Final version
Proposed User Iterface
Final Graphical User Interface
Screen shots of final interface
Figure-1: Interface before user input any data
Figure-2: Screen shot of the interface when user select 'Scan' and select an item by pressing 'Up','Down','Left' or 'Right' bottons. Selected item been highlighted with larger square.
Figure-3: The white square on the screen shows that paricular item been saved and item details available on the grid pannel on right bottom coner.
- We were initially cameup with two Interfaces and then desided to gohead with the one shown above.
- All main menue and option buttons are on the main sreen to make the product more user friendly. Item details are also displayed in two grid pannels on the screen(figure-1).
- Figure-2 shows the interface with a saved item (white colour) and a selected item(large red colour square).
Final class implementation in blueJ
Hardware and software interaction
Testing
Unit Testing
System test case
For GUI
For Item and SavedList class
system out put of Item and saveldList test case
For control
Overall System test case
Conclusion
By involving and committing to this project we have learned and improved our skills in many ways. We have improved our team skills and further developed our communication skills as it was crucial for our team to operate in a co-coordinated manner. It drived us to refresh our understanding of Java programing inorder to integrate the code effectively to match the design specifications. Multi-tasking and time management became essential towards the later stages of the project. We had to rely on each other and also on ourselves to deliver tasks at on time.
We found that the project specifications were not overly restrictive, which allow us more flexibility in desiging and implementing various ideas and cocepts raised by the team members. Due to the freedom we had we were able to introduce a product, which has more advanced applications and user friendly features.
In overall we believe we have met the essential criteria of designing the prototype of a user-friendly Tagged Object Finder that allows the user to interact using a touch screen. Overall, we found this project challenging as well as enjoyable.
References
- Wu, T. 2001, An Introduction to Object-Oriented Programming with Java, 5th edn, McGraw Hill, New York.
- Java™ Platform, Standard Edition 6 API Specification http://java.sun.com/javase/6/docs/api/
- James M.etc,2003, Java™ 2 Enterprise Edition 1.4 Bible.wiley publishing.
