SoftwarePractice.org: Home | Courseware | Wiki | Archive

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.

Image:T1_Stake.JPG

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

Image:T1-use_cases.JPG

Essential use cases

Image:T1_Essen_scan-select.JPG

Image:T1_Essen_erase-edit.JPG

Image:T1_Essen_add.JPG

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

Image:CRC_Card-V1.4.JPG

Final Version

Image:T1-GUI.JPG

Image:T1-Con.JPG

Image:T1-Sim.JPG

Image:T1-Item.JPG

Image:T1-Save.JPG

Class Diagram

Initial Version

Image:Class_diagram_1.JPG

Final version

Image:Class_digram_new.JPG

Sequence Diagrams

Initial version 

Image:Sequence_diagram_1.JPG

Final version

Image:Sequence_final.JPG

Proposed User Iterface

Image:User_interface_design_sketchV2.0.JPG

Final Graphical User Interface

Screen shots of final interface

Image:P11.JPG

Figure-1: Interface before user input any data

Image:P22.JPG

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.

Image:P33.JPG

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

Image: Final_classes_intercation.JPG 

Hardware and software interaction

Image:Hardware_software_intercationV1.1.JPG

Testing

Unit Testing

 System test case 
   For GUI 

Image:Unit_test_canvas_class.JPG

   For Item and SavedList class

Image:Unit_testing.JPG

 system out put of Item and saveldList test case

Image:resut_test_case.JPG

   For control

Image:unit_test_control_clas.JPG

Overall System test case

Image:Oveall_test_newv1.1.JPG


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.
  • James M.etc,2003, Java™ 2 Enterprise Edition 1.4 Bible.wiley publishing.

Instructor Comments

Personal tools