SlideShare uma empresa Scribd logo
1 de 8
Mini Project- Internet Security Mechanisms:
 Application of a Fingerprint Reader in Windows Using Java.

Author: University of Hertfordshire
Date created:
Date revised: 2009


Abstract
The following resources come from the 2009/10 BSc in Internet Technology and E-Commerce (course number
2ELE0076) from the University of Hertfordshire. All the mini projects are designed as level two modules of the
undergraduate programmes.

The objectives of this module are to develop and program a Finger Print Reader as part of a security system, and
understand related issues to achieve a simple yet secure identification process:

    •   Understanding the Java API of a commercial Finger Print Reader
    •   Modification of existing Java source code in the "BlueJ" Integrated Development Environment.
    •   Communicating with Windows and a database to achieve runtime interactivity with the Reader.

This project requires an understanding of a medium complexity Java API. The student will be expected to develop code
that will automatically show the corresponding photograph of an individual. The project provides students with an
awareness of developing commercial Java software within the Windows OS environment.




In addition to the resources found below there are supporting documents which should be used in combination with this
resource. Please see:
Mini Projects - Introductory presentation.
Mini Projects - E-Log.
Mini Projects - Staff & Student Guide.
Mini Projects - Standard Grading Criteria.
Mini Projects - Reflection.

You will also need the ‘Mini Project- Internet Security Mechanisms’ presentation.




                © University of Hertfordshire 2009 This work is licensed under a Creative Commons Attribution 2.0 License.
Mini Project- ITC Internet Security




Section 1. Project Introduction
1. Learning Outcomes assessed (as taken from the DMD)

All Learning Outcomes specified in the Definitive Module Documentation are assessed as part of this miniproject, the
specific Learning Outcomes are:

Knowledge and Understanding
   • Be able to analyse and breakdown problem tasks into manageable steps.
   • Integrate previous and concurrent learning and to use it to solve technology-based problems.
   • Be able to describe the project life-cycle appropriately.
   • Be able to select appropriate Internet Technology and E-Commerce and techniques for a given situation.

Skills and Attributes
     • Produce a solution to a defined Internet Technology and E-Commerce Technology problem.
     • Carry out a simple critical evaluation of their solution.
     • Demonstrate an ability to work effectively in a team, small groups and individually.
     • Demonstrate an ability to manage time and resources effectively.

2. Project Title: Internet Security Mechanisms

3. Project Objectives: (technical, specific to this project)
    To develop and program a Finger Print Reader as part of a security system, and understand related issues to achieve
    a simple yet secure identification process:
    • Understanding the Java API of a commercial Finger Print Reader
    • Modification of existing Java source code in the "BlueJ" Integrated Development Environment.
    • Communicating with Windows and a database to achieve runtime interactivity with the Reader.

4. Project Summary: (50 words max)
This project requires an understanding of a medium complexity Java API. The student will be expected to develop code
that will automatically show the corresponding photograph of an individual. The project provides students with an
awareness of developing commercial Java software within the Windows OS environment.

5. Introductory Lecture (2hrs) Content:

    •   Introduction to the commercial software package "GrFinger" and its object oriented hierarchy.
    •   Use of BlueJ to manage and develop the package.
    •   Review of applicable Java coding techniques to achieve the functional objectives.
    •   Product Testing plans and techniques.
    •   Technical standards of developing code for maintenance and ease of use.

6. Preparation Session (3hrs):

   I. An introduction to GrFinger and the associated "Hsqldb" commercial database.
  II. Code walking to demonstrate the detailed operation of the GrFinger API.

7. Day 1

Expected Outcomes for the day:
Students working individually must modify the commercial GrFinger package to allow its use within the BlueJ
environment. Photograph and suitably embed and store images of 3 different fellow students each for subsequent recall
using the commercial Java database Hsqldb. Develop a written software test plan.




                                                        Page 2 of 8
Mini Project- ITC Internet Security




Assessment criteria; the way in which the work has been planned and managed, the capturing and embedding and
naming of images working in small groups and the way in which they are stored to allow direct database access through
the GrFinger API and the Windows OS.

Key Tasks:

    •   Project Planning; developing an appropriate strategy to meet a specific set of technical requirements.
    •   Content capture, working in small groups, using a limited number of cameras and store within an appropriate
        Windows file structure.
    •   Manipulation of the BlueJ IDE library classes and Java code to allow GrFinger to run successfully.
    •   Technical appraisal assessing how the program actually runs using the BlueJ development tools.
    •   Delivery of an individually written software test plan.

8. Day 2
Expected Outcomes for the day:
To modify existing Java code that will allow a photograph of the fingerprint owner to be automatically displayed
immediately the fingerprint is successfully read by the FingerPrint Reader. To assess how robust the software is by using
the test plan written during Day 1.

Assessment criteria; the way in which the work has been managed, the functionality of the system and how well it meets
the specified requirements and how robust the system proves to be using the test plan.

Key Tasks:

    •   Project Planning; developing an appropriate strategy to meet a specific set of technical requirements.
    •   Achieve full functionality of the system.
    •   Demonstration of code robustness.
    •   Technical Appraisal; Best practises of code writing and demonstration of ease of maintenance.

9. Facilitator guidance (key ideas to draw out from students):

Day 1: IDE configuration requirements, file structure and GrFinger/Hsqldb package structures.

Day 2: Code development and best practises.

10. Required Resources: Laboratory Facilities and Teaching Support.

Laboratory Resources: D401/405 or equivalent.

    1. PC Workstations with the Microsoft fingerprint reader + FingerCap USB Driver + BlueJ installed.
    2. Access to a few still or video cameras to allow capture of specific content.
    Teaching Resources:

    3. Preparatory Session; access to the GrFinger and the Hsqldb database documentation.
    4. Day 1; briefing pack containing instructions for the day with source code materials.
    5. Day 2; briefing pack for the day; additional source code materials.




                                                        Page 3 of 8
Mini Project- ITC Internet Security




Section 2. Class Structure


                                                                         Class: Util
     These 3 classes form the whole                                    The Main Class
                                                                        Drives all the
                                                  Class:              components of the
                                                FormMain                   system

                         Class:
                      FormOptions

     Class:
    ColorPane

                                                                                 Database
                                                                                 Package
                           grfingerjava.jar package
                   The proprietary licensed fingerprint engine from             hsqldb.jar
                                     Griaule.com
                                   9 x classes total
                                        Image
                                   Buffered Image
                                  Matching Context
                                      Template

                                     Interface
                               Event Listeners ...
                                  Windows OS
                           USB Driver "FingerCap"




                                      Fingerp
                                        rint
                                      Reader




                                                       Page 4 of 8
Mini Project- ITC Internet Security




Section 3. Tasks for Project Day 1
   •   To modify the GRFinger sample code to run in the BlueJ environment ...

   •   To write a simple piece of code that will write the numerical value of the fingerprint data into
       the GUI textbox when a fingerprint is verified.


Project Day 1 Notes

BlueJ working with other files

BlueJ like all Integrated Development Environments (IDE's) has to be told exactly where to find extra
files that are needed to run an application. It knows where the source files are because when a
project is created you explicitly tell it which files to open. i.e. which folder (directory) they are in.
However when other files are needed you also have to tell it exactly where to find them.

The BlueJ terminal window

Will be very helpful in developing your code when it has run and then had an error since it will display
how far the code got before the error(s) occurred. Useful comments are embedded in the source
code and will be displayed as each method is running.

Printing the "" character

This back slash is a very special escape character in Java and any character following is interpreted
by the Java compiler as another special character called a control character. Unfortunately Windows
uses it to control its directory structure. So to print a back slash you have to write two "" just print a
single back slash!




                                                   Page 5 of 8
Mini Project- ITC Internet Security




Section 4. Tasks for Project Day 2
   •   To video three friends and have their movies fully automatically run as soon as the fingerprint
       reader is touched by the individual.

   •   To open a Word document with their name written on it in large letters as soon as a friend
       touches the fingerprint reader.


Project Day 2 Notes

try / catch

The try/catch statement encloses some code and must be used to handle errors and exceptions that
might occur in that code especially when trying to access files, through an operating system like
Windows, that may be in the wrong directory and cannot be found where they are expected to be.
Here is the general syntax of the try/catch statement:
  try {
     body-code
  } catch (exception-classname variable-name) {
     handler-code
  }

The try/catch statement has four parts. The body-code contains code that might throw the exception
that we want to handle. The exception-classname is the class name of the exception we want to
handle. The variable-name specifies a name for a variable that will hold the exception object if the
exception occurs. Finally, the handler-code contains the code to execute if the exception occurs. After
the handler-code executes, execution of the thread continues after the try/catch statement. Here is an
example of code that tries to create a file in a non-existent directory which results in an IOException.


String filename = "/nosuchdir/myfilename";
 try {
      // Create the file
      new File(filename).createNewFile();
   } catch (IOException e) {
      // Print out the exception that occurred
      System.out.println("Unable to create "+filename+": "+e.getMessage());
   }
   // Execution continues here after the IOException handler is executed

Here is the output:
  Unable to create /nosuchdir/myfilename: The system cannot find the path specified.

Running Windows files from Java




                                                 Page 6 of 8
Mini Project- ITC Internet Security




Rundll32.exe is a small program provided within Windows for the purpose of running DLL’s. Think of
it as ‘Run-a-DLL’.

The Runtime class allows an application to interface with the environment in which the application is
running. The Runtime.exec() method can be used to execute non-Java applications in that
environment.

When a program starts another Windows program using Runtime.exec(), the new program can be
launched using the following syntax:

Runtime.getRuntime().exec(command);

Using Windows file association from Java

Any file already set up with the normal Windows file association mechanism can be started with the
Windows rundll32 utility.

For example:

/"file" is the filename of the data file in the "filepath"

to start Word if the doc extension is already associated with it:

Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + file.getAbsolutePath());

or

Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL ""+"filepath"+""");




                                                     Page 7 of 8
Mini Project- ITC Internet Security




Credits
This resource was created by the University of Hertfordshire and released as an open educational
resource through the Open Engineering Resources project of the HE Academy Engineering Subject
Centre. The Open Engineering Resources project was funded by HEFCE and part of the JISC/HE
Academy UKOER programme.




© University of Hertfordshire 2009




This work is licensed under a Creative Commons Attribution 2.0 License.

The name of the University of Hertfordshire, UH and the UH logo are the name and registered marks of the University of Hertfordshire. To the fullest
extent permitted by law the University of Hertfordshire reserves all its rights in its name and marks which may not be used except with its written
permission.

The JISC logo is licensed under the terms of the Creative Commons Attribution-Non-Commercial-No Derivative Works 2.0 UK: England & Wales
Licence. All reproductions must comply with the terms of that licence.

The HEA logo is owned by the Higher Education Academy Limited may be freely distributed and copied for educational purposes only, provided that
appropriate acknowledgement is given to the Higher Education Academy as the copyright holder and original publisher.




                                                                      Page 8 of 8

Mais conteúdo relacionado

Semelhante a Mini Project- Internet Security Mechanisms

SystemsProgrammingCourse FSDFFSFDSDSDSFSFS
SystemsProgrammingCourse FSDFFSFDSDSDSFSFSSystemsProgrammingCourse FSDFFSFDSDSDSFSFS
SystemsProgrammingCourse FSDFFSFDSDSDSFSFSmeharikiros2
 
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat DasNull Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat Dasnullowaspmumbai
 
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdfMalware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdfAbhijit Mohanta
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligenceCarlos Toxtli
 
Tejas bichave m tech python
Tejas bichave  m tech pythonTejas bichave  m tech python
Tejas bichave m tech pythontejas bichave
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Library Managemnet System
Library Managemnet SystemLibrary Managemnet System
Library Managemnet SystemAbhishek Shakya
 
Android village @nullcon 2012
Android village @nullcon 2012 Android village @nullcon 2012
Android village @nullcon 2012 hakersinfo
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Design World
 

Semelhante a Mini Project- Internet Security Mechanisms (20)

SystemsProgrammingCourse FSDFFSFDSDSDSFSFS
SystemsProgrammingCourse FSDFFSFDSDSDSFSFSSystemsProgrammingCourse FSDFFSFDSDSDSFSFS
SystemsProgrammingCourse FSDFFSFDSDSDSFSFS
 
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat DasNull Mumbai Meet_Android Reverse Engineering by Samrat Das
Null Mumbai Meet_Android Reverse Engineering by Samrat Das
 
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdfMalware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
Malware-Reverse-Engineering-BeginnerToAdvanced-By-Abhijit-Mohanta-1.pdf
 
krishna
krishna krishna
krishna
 
Software Engineering 2014
Software Engineering 2014Software Engineering 2014
Software Engineering 2014
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
 
Tejas bichave m tech python
Tejas bichave  m tech pythonTejas bichave  m tech python
Tejas bichave m tech python
 
Documentation
DocumentationDocumentation
Documentation
 
Satyam_Singh_cv
Satyam_Singh_cvSatyam_Singh_cv
Satyam_Singh_cv
 
Android
AndroidAndroid
Android
 
01.intro
01.intro01.intro
01.intro
 
Session 2 beccse
Session 2 beccseSession 2 beccse
Session 2 beccse
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Library Managemnet System
Library Managemnet SystemLibrary Managemnet System
Library Managemnet System
 
Android village @nullcon 2012
Android village @nullcon 2012 Android village @nullcon 2012
Android village @nullcon 2012
 
Gajendra_RESUME
Gajendra_RESUMEGajendra_RESUME
Gajendra_RESUME
 
Cc4201519521
Cc4201519521Cc4201519521
Cc4201519521
 
Bhavin_Resume
Bhavin_ResumeBhavin_Resume
Bhavin_Resume
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
 
Gaurav agarwal
Gaurav agarwalGaurav agarwal
Gaurav agarwal
 

Mais de University of Hertfordshire, School of Electronic Communications and Electrical Engineering

Mais de University of Hertfordshire, School of Electronic Communications and Electrical Engineering (20)

Mini Project- Home Automation
Mini Project- Home AutomationMini Project- Home Automation
Mini Project- Home Automation
 
Mini Project- Automated Selection Machine
Mini Project- Automated Selection MachineMini Project- Automated Selection Machine
Mini Project- Automated Selection Machine
 
Mini Project- Soundscape for Games Consoles
Mini Project-  Soundscape for Games ConsolesMini Project-  Soundscape for Games Consoles
Mini Project- Soundscape for Games Consoles
 
Mini Project- Face Recognition
Mini Project- Face RecognitionMini Project- Face Recognition
Mini Project- Face Recognition
 
Mini Project- Games Development For The Desktop Pc And Dedicated Gaming Machine
Mini Project- Games Development For The Desktop Pc And Dedicated Gaming MachineMini Project- Games Development For The Desktop Pc And Dedicated Gaming Machine
Mini Project- Games Development For The Desktop Pc And Dedicated Gaming Machine
 
Mini Project- Audio Enhancement
Mini Project- Audio EnhancementMini Project- Audio Enhancement
Mini Project- Audio Enhancement
 
Mini Project- Multimedia Montage
Mini Project- Multimedia MontageMini Project- Multimedia Montage
Mini Project- Multimedia Montage
 
Mini Project- Audio Enhancement
Mini Project-  Audio EnhancementMini Project-  Audio Enhancement
Mini Project- Audio Enhancement
 
Mini Project- Multimedia Montage
Mini Project-  Multimedia MontageMini Project-  Multimedia Montage
Mini Project- Multimedia Montage
 
Mini Project Internet Security Mechanisms
Mini Project  Internet Security MechanismsMini Project  Internet Security Mechanisms
Mini Project Internet Security Mechanisms
 
Mini Project- Personal Multimedia Portfolio
Mini Project- Personal Multimedia PortfolioMini Project- Personal Multimedia Portfolio
Mini Project- Personal Multimedia Portfolio
 
Mini Projects- Personal Multimedia Portfolio
Mini Projects- Personal Multimedia PortfolioMini Projects- Personal Multimedia Portfolio
Mini Projects- Personal Multimedia Portfolio
 
Mini Project- Credit The Edit
Mini Project- Credit The EditMini Project- Credit The Edit
Mini Project- Credit The Edit
 
Mini Project- Credit The Edit
Mini Project- Credit The EditMini Project- Credit The Edit
Mini Project- Credit The Edit
 
Mini Project- Digital Video Editing
Mini Project- Digital Video EditingMini Project- Digital Video Editing
Mini Project- Digital Video Editing
 
Mini Project- Digital Video Editing
Mini Project- Digital Video EditingMini Project- Digital Video Editing
Mini Project- Digital Video Editing
 
Mini Project- Digital Audio Editing
Mini Project- Digital Audio EditingMini Project- Digital Audio Editing
Mini Project- Digital Audio Editing
 
Mini Project- Shopping Cart Development
Mini Project- Shopping Cart DevelopmentMini Project- Shopping Cart Development
Mini Project- Shopping Cart Development
 
Mini Project- Shopping Cart Development
Mini Project- Shopping Cart DevelopmentMini Project- Shopping Cart Development
Mini Project- Shopping Cart Development
 
Mini Project- Game Hardware Development
Mini Project- Game Hardware DevelopmentMini Project- Game Hardware Development
Mini Project- Game Hardware Development
 

Último

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 

Último (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 

Mini Project- Internet Security Mechanisms

  • 1. Mini Project- Internet Security Mechanisms: Application of a Fingerprint Reader in Windows Using Java. Author: University of Hertfordshire Date created: Date revised: 2009 Abstract The following resources come from the 2009/10 BSc in Internet Technology and E-Commerce (course number 2ELE0076) from the University of Hertfordshire. All the mini projects are designed as level two modules of the undergraduate programmes. The objectives of this module are to develop and program a Finger Print Reader as part of a security system, and understand related issues to achieve a simple yet secure identification process: • Understanding the Java API of a commercial Finger Print Reader • Modification of existing Java source code in the "BlueJ" Integrated Development Environment. • Communicating with Windows and a database to achieve runtime interactivity with the Reader. This project requires an understanding of a medium complexity Java API. The student will be expected to develop code that will automatically show the corresponding photograph of an individual. The project provides students with an awareness of developing commercial Java software within the Windows OS environment. In addition to the resources found below there are supporting documents which should be used in combination with this resource. Please see: Mini Projects - Introductory presentation. Mini Projects - E-Log. Mini Projects - Staff & Student Guide. Mini Projects - Standard Grading Criteria. Mini Projects - Reflection. You will also need the ‘Mini Project- Internet Security Mechanisms’ presentation. © University of Hertfordshire 2009 This work is licensed under a Creative Commons Attribution 2.0 License.
  • 2. Mini Project- ITC Internet Security Section 1. Project Introduction 1. Learning Outcomes assessed (as taken from the DMD) All Learning Outcomes specified in the Definitive Module Documentation are assessed as part of this miniproject, the specific Learning Outcomes are: Knowledge and Understanding • Be able to analyse and breakdown problem tasks into manageable steps. • Integrate previous and concurrent learning and to use it to solve technology-based problems. • Be able to describe the project life-cycle appropriately. • Be able to select appropriate Internet Technology and E-Commerce and techniques for a given situation. Skills and Attributes • Produce a solution to a defined Internet Technology and E-Commerce Technology problem. • Carry out a simple critical evaluation of their solution. • Demonstrate an ability to work effectively in a team, small groups and individually. • Demonstrate an ability to manage time and resources effectively. 2. Project Title: Internet Security Mechanisms 3. Project Objectives: (technical, specific to this project) To develop and program a Finger Print Reader as part of a security system, and understand related issues to achieve a simple yet secure identification process: • Understanding the Java API of a commercial Finger Print Reader • Modification of existing Java source code in the "BlueJ" Integrated Development Environment. • Communicating with Windows and a database to achieve runtime interactivity with the Reader. 4. Project Summary: (50 words max) This project requires an understanding of a medium complexity Java API. The student will be expected to develop code that will automatically show the corresponding photograph of an individual. The project provides students with an awareness of developing commercial Java software within the Windows OS environment. 5. Introductory Lecture (2hrs) Content: • Introduction to the commercial software package "GrFinger" and its object oriented hierarchy. • Use of BlueJ to manage and develop the package. • Review of applicable Java coding techniques to achieve the functional objectives. • Product Testing plans and techniques. • Technical standards of developing code for maintenance and ease of use. 6. Preparation Session (3hrs): I. An introduction to GrFinger and the associated "Hsqldb" commercial database. II. Code walking to demonstrate the detailed operation of the GrFinger API. 7. Day 1 Expected Outcomes for the day: Students working individually must modify the commercial GrFinger package to allow its use within the BlueJ environment. Photograph and suitably embed and store images of 3 different fellow students each for subsequent recall using the commercial Java database Hsqldb. Develop a written software test plan. Page 2 of 8
  • 3. Mini Project- ITC Internet Security Assessment criteria; the way in which the work has been planned and managed, the capturing and embedding and naming of images working in small groups and the way in which they are stored to allow direct database access through the GrFinger API and the Windows OS. Key Tasks: • Project Planning; developing an appropriate strategy to meet a specific set of technical requirements. • Content capture, working in small groups, using a limited number of cameras and store within an appropriate Windows file structure. • Manipulation of the BlueJ IDE library classes and Java code to allow GrFinger to run successfully. • Technical appraisal assessing how the program actually runs using the BlueJ development tools. • Delivery of an individually written software test plan. 8. Day 2 Expected Outcomes for the day: To modify existing Java code that will allow a photograph of the fingerprint owner to be automatically displayed immediately the fingerprint is successfully read by the FingerPrint Reader. To assess how robust the software is by using the test plan written during Day 1. Assessment criteria; the way in which the work has been managed, the functionality of the system and how well it meets the specified requirements and how robust the system proves to be using the test plan. Key Tasks: • Project Planning; developing an appropriate strategy to meet a specific set of technical requirements. • Achieve full functionality of the system. • Demonstration of code robustness. • Technical Appraisal; Best practises of code writing and demonstration of ease of maintenance. 9. Facilitator guidance (key ideas to draw out from students): Day 1: IDE configuration requirements, file structure and GrFinger/Hsqldb package structures. Day 2: Code development and best practises. 10. Required Resources: Laboratory Facilities and Teaching Support. Laboratory Resources: D401/405 or equivalent. 1. PC Workstations with the Microsoft fingerprint reader + FingerCap USB Driver + BlueJ installed. 2. Access to a few still or video cameras to allow capture of specific content. Teaching Resources: 3. Preparatory Session; access to the GrFinger and the Hsqldb database documentation. 4. Day 1; briefing pack containing instructions for the day with source code materials. 5. Day 2; briefing pack for the day; additional source code materials. Page 3 of 8
  • 4. Mini Project- ITC Internet Security Section 2. Class Structure Class: Util These 3 classes form the whole The Main Class Drives all the Class: components of the FormMain system Class: FormOptions Class: ColorPane Database Package grfingerjava.jar package The proprietary licensed fingerprint engine from hsqldb.jar Griaule.com 9 x classes total Image Buffered Image Matching Context Template Interface Event Listeners ... Windows OS USB Driver "FingerCap" Fingerp rint Reader Page 4 of 8
  • 5. Mini Project- ITC Internet Security Section 3. Tasks for Project Day 1 • To modify the GRFinger sample code to run in the BlueJ environment ... • To write a simple piece of code that will write the numerical value of the fingerprint data into the GUI textbox when a fingerprint is verified. Project Day 1 Notes BlueJ working with other files BlueJ like all Integrated Development Environments (IDE's) has to be told exactly where to find extra files that are needed to run an application. It knows where the source files are because when a project is created you explicitly tell it which files to open. i.e. which folder (directory) they are in. However when other files are needed you also have to tell it exactly where to find them. The BlueJ terminal window Will be very helpful in developing your code when it has run and then had an error since it will display how far the code got before the error(s) occurred. Useful comments are embedded in the source code and will be displayed as each method is running. Printing the "" character This back slash is a very special escape character in Java and any character following is interpreted by the Java compiler as another special character called a control character. Unfortunately Windows uses it to control its directory structure. So to print a back slash you have to write two "" just print a single back slash! Page 5 of 8
  • 6. Mini Project- ITC Internet Security Section 4. Tasks for Project Day 2 • To video three friends and have their movies fully automatically run as soon as the fingerprint reader is touched by the individual. • To open a Word document with their name written on it in large letters as soon as a friend touches the fingerprint reader. Project Day 2 Notes try / catch The try/catch statement encloses some code and must be used to handle errors and exceptions that might occur in that code especially when trying to access files, through an operating system like Windows, that may be in the wrong directory and cannot be found where they are expected to be. Here is the general syntax of the try/catch statement: try { body-code } catch (exception-classname variable-name) { handler-code } The try/catch statement has four parts. The body-code contains code that might throw the exception that we want to handle. The exception-classname is the class name of the exception we want to handle. The variable-name specifies a name for a variable that will hold the exception object if the exception occurs. Finally, the handler-code contains the code to execute if the exception occurs. After the handler-code executes, execution of the thread continues after the try/catch statement. Here is an example of code that tries to create a file in a non-existent directory which results in an IOException. String filename = "/nosuchdir/myfilename"; try { // Create the file new File(filename).createNewFile(); } catch (IOException e) { // Print out the exception that occurred System.out.println("Unable to create "+filename+": "+e.getMessage()); } // Execution continues here after the IOException handler is executed Here is the output: Unable to create /nosuchdir/myfilename: The system cannot find the path specified. Running Windows files from Java Page 6 of 8
  • 7. Mini Project- ITC Internet Security Rundll32.exe is a small program provided within Windows for the purpose of running DLL’s. Think of it as ‘Run-a-DLL’. The Runtime class allows an application to interface with the environment in which the application is running. The Runtime.exec() method can be used to execute non-Java applications in that environment. When a program starts another Windows program using Runtime.exec(), the new program can be launched using the following syntax: Runtime.getRuntime().exec(command); Using Windows file association from Java Any file already set up with the normal Windows file association mechanism can be started with the Windows rundll32 utility. For example: /"file" is the filename of the data file in the "filepath" to start Word if the doc extension is already associated with it: Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + file.getAbsolutePath()); or Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL ""+"filepath"+"""); Page 7 of 8
  • 8. Mini Project- ITC Internet Security Credits This resource was created by the University of Hertfordshire and released as an open educational resource through the Open Engineering Resources project of the HE Academy Engineering Subject Centre. The Open Engineering Resources project was funded by HEFCE and part of the JISC/HE Academy UKOER programme. © University of Hertfordshire 2009 This work is licensed under a Creative Commons Attribution 2.0 License. The name of the University of Hertfordshire, UH and the UH logo are the name and registered marks of the University of Hertfordshire. To the fullest extent permitted by law the University of Hertfordshire reserves all its rights in its name and marks which may not be used except with its written permission. The JISC logo is licensed under the terms of the Creative Commons Attribution-Non-Commercial-No Derivative Works 2.0 UK: England & Wales Licence. All reproductions must comply with the terms of that licence. The HEA logo is owned by the Higher Education Academy Limited may be freely distributed and copied for educational purposes only, provided that appropriate acknowledgement is given to the Higher Education Academy as the copyright holder and original publisher. Page 8 of 8