Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Proposal: Implement a Password Manager

Tayler Angevine: Bachelor of Science in Computer Science

October 2, 2013

Advisor: Ken Blaha CSCE 499, Fall 2013

1 Abstract
This capstone project will focus on the implementation of a password manager. The application will be a
design to store a person’s log in information for various websites. Creating a program with such functionality
is signifigant because it gives a user a solution to a relevant problem in the current web culture. I would
like to give the program enough functionality that it will be able to generate passwords, and keep the user’s
information safe because the program will serve as a house for their usernames and passwords. Creating this
program will allow me to reach my education goals that I have set forth: establishing enough base knowledge
in order to become a user interface designer and scratch the surface of cyber security.

2 Introduction
User interface and cyber security are two of the most prominent aspects of the computing industry and
topics that have sparked my interest since starting my computer programming career at Pacific Lutheran
University. Therefore, I have designed my senior capstone project around these concepts. The project will
be a password manager. The password manager will be a desktop application which will act as a safe/vault
where all of their usernames, passwords, and secret questions can be stored.

2.1 What makes this project useful?

What makes this application different than say a word document with usernames and encrypted passwords?
The password manager will have a well-designed user interface with enough functionality to store usernames
and passwords along with convenient features: password creation tool, password rating, keychain, customiz-
able icons for each websites username/password, and it will be more safe than other programs. This project
is important because there is a current trend for websites to force users to register/sign up. This trend,
coupled with the increase of our business and pleasure taking place online, has caused users to take the
necessary security steps and create a variety usernames and passwords. I for one cannot keep track of the
different passwords and usernames I have created. Even though I have created them with something in com-
mon, I still find my inbox filled with password reset requests, or consistently forgetting my secret question
which, in turn, forces me to call an automated hotline trying to prove I am me. The password manager will
eliminate these problems. Furthermore, the password manager benefits from a large target demographic .
My previous experience with GUI/user interface design will help me with half of the project. Although, I
do not have any experience with cyber security. Over the course of the year, I intend to vastly increase my
current knowledge of GUI’s, forge a new path into cyber security, and always keep striving to improve my
coding abilities as I create a password manager.

1
3 Goals

3.1 Educational

Since I am starting this project with a strong base in user interface design, I would like build upon this
knowledge by learning how to create Generated User Interfaces with professional grade standards. Meaning,
I want to obtain the skill to build an interface that would pass a company’s standards. This will allow me
a smooth transition to the professional world. On the other hand, there is cyber security which is a broad
topic. Obviously, I will be focusing on sections that are most relevant to this project: password cracking,
and practicing safe coding techniques that will optimize an applications security. My final educational goal
is to increase my understanding of the model, view, controller design and documentation process because I
intend to create the application in NetBeans, using MVC.

3.2 Functional

The main goal of this project is to implement the base functionality of the program which is storing usernames
and passwords for various websites. From there I would like to create an automated password generator,
secure offline backup, a password creating tool, password rating system, and customizable icons for each
username and password stored.

3.3 Project Completion

Project completion can be hard to gauge. Other applications are generally constantly patching their product,
therefore when can they say when their project was completed. Since I have not begun the design process for
the application, I am trying to avoid saying I will create a robust project without being able to grasp what
is actually feasible. Once I have completed the goals laid out, more functionality will be added until I feel
as if the project is a good representation of Pacific Lutheran and me as a Computer Science major.

4 Predicted Requirements
I will be developing the application using the Java language in netbeans therefore I will not be requiring any
new software that the computer labs do not have already. Prior to starting the documentation and design
phase of the project, I would like to do some reading on user interface and cyber security. I have chosen Steve
Krug’s Don’t Make Me Think and Stuart McClure’s Hacking Exposed because both have great reviews from
their readers and critics. The cost of this project is minimal. The books should cost fifty dollars at most.
Fortunately, the software is already installed on school computer’s along with my home machine therefore,
is not going contribute towards any additional expenses. Since I am working alone, I doubt I will need any
room set aside.

5 Predicted Challenges
It is hard to forsee problems that will arise. Although, I can give my best guess as to what I may run into. For
example, coding errors will be a common occurence because I plan on using a Model View Controller design.
Furthermore, sifting through code may take longer than normal since I will be working alone. Creating a
secure environment to store the applications data may take a little time as well because cyber security is a
complex beast that cannot be tackled in a small period of time.

2
6 Timeline
Initial Research (September-October): This includes reading online articles and the two books I have chosen.
Design and Documentation (November): This phase will be focused on creating user interface drawings, class
diagrams, use cases, and creating GUI prototypes
Implementation (December - March): where the majority of the coding will be done
Testing, Additional Implementation, and Preparing Presentation (End of March - Presentation): Testing ev-
ery nook and cranny of the application. If additional coding is required, it will done during this phase.

You might also like