You are on page 1of 52

SSM

COLLEGE

OF

ENGINEERING

AND

TECHNOLOGY
DIVAR PARIHASPORA PATTAN BARAMULLA J&K

Department of Computer Engineering

MINOR PROJECT
PROJECT REPORT ON PERSONAL INFORMATION MANAGER (PIM)

SUBMITTED BY
1. 2. 3. 4.

Name: Sameena Rauf Enroll: 1873 Name: Mehvish Mushtaq Enroll: 1640 Name: Farha Farooq Enroll: 1849 Name: Insha Wani Enroll: 1895

Submitted to: Er.YASMEEN (H.O.D)

Guided by: Mr.IRFAN


1

CERTIFICATE
This is to certify that the project report entitled Personal Information Manager submitted by :

1. 2. 3. 4.

Name: Sameena Rauf Enroll: 1873 Name: Mehvish Mushtaq Enroll: 1640 Name: Farha Farooq Enroll: 1849 Name: Insha Wani Enroll: 1895

Of the Department of Computer Sciences and Engineering in partial fulfillment of the requirement for the award of degree Bachelor of Engineering (B.E) in Computer Sciences and Engineering of the SSM College of Engineering And Technology, Parihaspora, Pattan Baramulla J&K.

HOD (Computer Department) Principal Mrs.YASMEEN Dr.N.A.SHAH

Project Guide Mr.IRFAN

ACKNOWLEDGMENT

First and foremost, we would Thank Almighty ALLAH for endowing us with strength in completing this Project. We would also like to express our sincere gratitude to our Head of Department, Mrs. Yasmeen. We were privileged to experience a sustained enthusiastic and involved interest from her side. We acknowledge the enormous assistance and excellent co-operation extended by her. We are thankful to our external guide Mr. Muneer Ahmad Dar (Scientist/Engineer-B) at DOEACC Centre Rangreth Srinagar J & k. We would also like to thank the staff members for their valuable support. Lastly we would like to express our heartfelt indebtedness towards all those who have helped us directly or indirectly for the success of the project.

Name: Sameena Rauf Enroll: 1873 Name: Mehvish Mushtaq Enroll: 1640 Name: Farha Farooq Enroll: 1849 Name: Insha Wani Enroll: 1895

CONTENTS
1.

Introduction 5-7 1.1. 6 1.2 7 1.3 7 Main Overview Features Modules

2.

Analysis 8-12 2.1. 9 2.2. 10 2.3. 12 Purpose DFD STD

3.

Design 13-36
3.1

TOOLS 14
3.1.1

USED FRAMEWORK

.NET 15

3.1.2

MICROSOFT 20 VB.NET 22 SQL 23 ADO.NET 24 3.2.

VISUAL

STUDIO

3.1.3

3.1.4

SERVER

3.1.5

System 3.3.

Requirements Dictionary Screenshots

27 Data 3.4. 30
4.

28

Coding 37 Testing 44 Pros 46 Future 48 Bibliography 50 and Cons Scope

5.

6.

7.

8.

Chapter 1 Introduction
Details about the current working system

1. Introduction
1.1 Overview: You have too many things to remember? ME PIM helps you keep them in one place and organized. Suppose a person is working in an office and in mean time he is informed about some meeting to be held on a particular date. Most probably he would write it on some paper, with maximum probability of his forgetting or misplacing it. Instead if one uses PIM he would store it immediately in his laptop. And on that particular date he will be automatically updated or notified about it. A personal information manager (often referred to as a PIM tool or, more simply, a PIM) is a type of application software that functions as a personal organizer. The acronym PIM is now, more commonly, used in reference to Personal information management as a field of study. As an information management tool, a PIM tool's purpose is to facilitate the recording, tracking, and management of certain types of "personal information". It is a type of software application designed to help users organize random bits of information such as reminders, contacts, and dates. It also includes calendar,and calculator programs. A tool for collecting and organizing personal information, it provides fast and organized information access on personal information. It is perfect for personal use. ME PIM includes these Contact Manager Significant calendar dates o Birthdays o Anniversaries o Appointments and meeting Alerts Diary Modern customizable user interface, ease of use and extensive features makes this information management software suitable for Personal use. Check out the menu bar on top of the page to jump to whatever section you want to.

1.2 Features:

The following are the main features of this software: 1. Diary function - allows keying in of diary information. You can choose to key in entries by date/subject. 2. Address Book function - Address Book aims to centrally store all your contact information in one repository. 3. Significant calendar dates- Store important dates like birthdays, anniversaries and other bits of important information you want to keep in one place. 4. Simple and Intuitive Interface -When you use a tool daily, it's important for it to be easy to use. ME PIM has an intuitive and simple interface, so you can start using it right away. You can reap its benefits and power with a very little investment of time. 5. Reminders - Get notifications for upcoming meetings, birthdays, anniversaries. 6. Multi user application - Supports multi users

1.3 Main Modules: Login module: This form allows you to login to your account. The login module will ensure the security of website by allowing only registered users to have complete access to the software. Notification Module: This form is at the centre stage of it all. This form will be the first form that will be loaded upon successful login. This form will show notifications for current date. Diary: This module will allow users to add and view diary information, view and search contacts, birthdays, anniversaries. Organizers: This module allows you to store Significant calendar dates like Birthdays , Anniversaries , Appointments and meeting , Address book entries. Utilities: It has inbuilt calculator and notepad.

Chapter 2 System analysis


How to gather the details about the system and related details

2. System Analysis
Analysis phase is the detailed understanding of all important facts of the business areas under investigation. The relationship of various system components among themselves and with environment are studied and understood. This requires data collection from a variety of sources. For this, questionnaires, forms, interviews, study of existing documents, records etc are used. While analyzing, a set of questions arise in our mind, they are: What is being done in the project?

How it is being done?

What are the goals? What are the problems that may arise? If a problem arises, how it will be solved? What could cause such a problem?

2.1 Purpose of creation: 1. With the help of ME PIM, storing data is easier and hassle free. All one has to do is create an account and then store the data and all the data is organized and convenient to access. 2. With the help of ME PIM, one can store every data that concerns his daily affairs in a single place. No need to mark calendars or go searching for address books or diaries. 3. The main aim of creating such an app is to make data storage convenient, secure and reliable. 4. For people who forget important events, ME PIM is just their thing. With security and user friendly features, this app is all what one needs. 5. Many people are used to keeping journal. ME PIM is their key to keep their data private and in a digital format. The diary option provides an option to keep a personal diary and with the help of password protection , this app would be liked by people who like to write but at the same time want to keep it personal.

10

2.2 DFD:

Create Account

Login

PIM

Main Form

11

Open

If user Does not Exist

Check whethe r User exists

If user Exists

Create Account form

Login Form

Database Login Check Successful Failed


Message Invalid Login

Main Module

Home

Diary

Organi ser

Utilit es

Help

12

2.3 STD:
START

CREATE ACCOUNT LOGIN

MAIN FORM

LOGOUT

13

Chapter 3 Design And Development

14

3. Design and Development

3.1 Tools Used:

FRAMEWORK USED: IDE PROGRAMMING LANGUAGE DATABASE:

.NET 3.5 MICROSOFT STUDIO VB.NET SQL SERVER

15

3.1.1 .NET Framework: .NET is a term that embraces Microsoft's core strategy, plans, and vision for the near future. At the heart of this strategy is the .NET Framework, which provides the core technology that underpins it all VB.NET is just one of several components that are present in the Framework. .NET is designed to help solve several fundamental problems faced by programmers: It takes care of a great deal of the hard work involved in building large, reliable applications. It allows programmers to unify two kinds of architectures applications that run locally on a machine and applications that are accessed over the Web. It reduces the overheads traditionally associated with programming frameworks you don't need to write complex code in a high-powered language to get impressive performance out of.NET programs. It allows programmers in different languages to work together on a single application. It has been built from the start to accommodate various end-user tools, including desktops, PDAs, and cell phones. To summarize, .NET provides an easier, and thus faster and cheaper way, to get efficient programs into the hands of users. The bottom line is that life as windows programmer has been tough. The .NET Framework is a rather radical and brute force approach to making our lives easier.The .NET Framework is a completely new model for building systems on he windows family of operating systems as well as on numerous non-Microsoft operating systems . To set the stage here is a quick rundown of some core features provided courtesy of .NET Comprehensive interoperability with existing code: This is a good thing. Existing COM binaries can commingle with newer .NET binaries and vica versa. Complete and total language integration: .NET supports cross language inheritance, cross language exception handling, and cross language debugging of code. A common runtime engine shared by all .NET aware languages: One aspect of this engine is a well defined set of types that each .NET aware language understands A comprehensive base class library: This library provides shelter from the complexities of raw API calls and offers a consistent object model used by all .NET aware languages. A truly simplified deployment model:
16

Under.NET , there is no need to register a binary unit into the system registry. Furthermore .Net allow multiple versions of the same .dll to exist in harmony on a single machine. The only way .NET and Com types can interact with each other is using the interoperatibility layer. NET is a platform that provides a standardized set of services. Its just like Windows, except distributed over the Internet. It exports a common interface so that its programs can be run on any system that supports .NET. A specific software framework Includes a common runtime Provides a very good environment to develop networked applications and Web Services Provides programming API and unified language-independent development framework The building blocks of .net platform (The CLR, CTS and CLS) There are 3 key entities that make it all possible: The CLR The CTS The CLS From a programmers point of view .NET can be understood as a runtime environment (CLR) and a comprehensive base class library.

The runtime layer is known as COMMON LANGUAGE RUNTIME. The primary role of CLR is to locate, load and manage .net types on your behalf. The CLR also takes care of a number of low level details such as memory management, creating application domains threads, and object contact boundaries and performing various security checks. Code that targets the CLR is referred to as managed code

Another building block of .NET platform is COMMON TYPE SYSTEM or CTS. The CTS specification fully describes all possible data types and programming constructs supported by runtime, specifies how these entities can interact with each other and details how they are represented in the .NET meta data format. All .NET languages have the same primitive data types. An int in C# is the same as an int in VB.NET.When communicating between modules written
17

in any .NET language, the types are guaranteed to be compatible on the binary level. Types can be: Value types passed by value, stored in the stack Reference types passed by reference, stored in the heap

COMMON LANGUAGE SPECIFICATION is a related specification that defines a subset of common types and programming constructs that all .NET programming languages can agree on. Thus if you build .Net types that only expose CLS compliant features you can rest assured that all .NET aware languages can consume them. Conversely if you make use of a data type or programming construct that is outside of the bounds of the CLS you cannot guarantee that every .NET programming language can interact with your .NET code library.Any language that conforms to the CLS is a .NET language A language that conforms to the CLS has the ability to take full advantage of the Framework Class Library (FCL)

ROLE OF BASE CLASS LIBRARIES In addition to the CLR and CTS, CLS specification the .NET platform provides a base class library that is available to all .NET programming languages. Not only does this base class library encapsulate various primitives such as threads, file input/output, graphical rendering and interaction with various hardware devices but it also provides support for number of services required by most real world applications. Provides the core functionality: ASP.NET, Web Services, ADO.NET, Windows Forms, IO, XML, etc

18

Common Language Runtime CLR manages code execution at runtime Memory management, thread management, etc. Base class library Object-oriented collection of reusable types Collections, I/O, Strings, Data access layer Access relational databases Disconnected data model Work with XML ASP.NET & Windows Forms Create applications front-end Web-based user interface, Windows GUI, Web services,
19

Programming languages Use your favorite language

.NET languages Languages provided by Microsoft C++, C#, J#, VB.NET, JScript Third-parties languages Perl, Python, Pascal, APL, COBOL, Eiffel, Haskell, ML, Oberon, Scheme, Smalltalk

20

3.1.2 .Microsoft Visual Studio: Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft Windows, Windows Mobile, Windows CE, .NET Framework. Visual Studio includes a code editor supporting IntelliSense. The integrated debugger works both as a source-level debugger and a machine-level debugger. Other built-in tools include a forms designer for building GUI applications, web designer, class designer, and database schema designer. Visual Studio supports different programming languages by means of language services, which allow the code editor and debugger to support (to varying degrees) nearly any programming language, provided a language-specific service exists. Built-in languages include C/C++ (via Visual C++), VB.NET (via Visual Basic .NET), C# (via Visual C#),. Individual language-specific versions of Visual Studio also exist which provide more limited language services to the user: Microsoft Visual Basic, Visual J#, Visual C#, and Visual C++. Development tool that contains a rich set of productivity and debugging features Supports managed and unmanaged applications Supports C#, C++, VB.NET, Many useful tools and wizards Windows Forms Designer ASP.NET Web Forms Designer Web Services support SQL Server integration with ADO.NET and XML From Visual Studio.NET you can: Write code Design user interface Study documentation Debug Test

21

22

3.1.3 .VB.NET Since its introduction in 1991, Microsoft Visual Basic has enjoyed unprecedented success. In fact, in slightly more than a decade, it has become the world's most widely used programming language. The reason for this success is twofold. First, Visual Basic has excelled as a rapid application development (RAD) environment for corporate and commercial applications. Second, Visual Basic offers a programming language and development environment noted for its simplicity and ease of use, making it an extremely attractive choice for those new to programming. With the release of its new .NET platform, Microsoft also released a new version of the Visual Basic language, Visual Basic .NET. VB.NET is a from-the-ground-up rewrite of Visual Basic that not only adds a number of new features, but also differs significantly from previous versions of Visual Basic. Visual Basic .NET (VB.NET), is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic (VB), which is implemented on the .NET Framework. As a language, Visual Basic.NET has the following traits: Object-Oriented As with all .NET languages, VB.NET includes full-blown support for object-oriented concepts, including simple inheritance. Everything in VB.NET is an object, including all of the primitives (Short, Integer, Long, String, Boolean, etc.) as well as types, events, and even assemblies. Everything inherits from the Object base class. Event-Driven All previous versions of Visual Basic were event-driven, but this feature is heavily enhanced under the .NET framework. Events are no longer recognized because they use a certain naming convention (ObjectName,EventName), but now are declared with a Handles ObjectName.EventName clause. Event handlers can also be declared at runtime using the AddHandler command. .NET Framework As the name implies, VB.NET runs on top of Microsoft's .NET framework, meaning the language has full access to all of the supporting classes in the framework. It's also possible to run VB.NET programs on top of Mono, the open-source alternative to .NET, not only under Windows, but even Linux or Mac OSX.

23

3.1.4. SQL Server When considering a utility for data management the two most popular choices are MySQL and SQL Server. Both are efficient at keeping your data organized and readily available through a user interface, but they differ drastically in many areas. An important aspect of database development is how to access your data using different standard based protocols. Both MySQL and SQL Server do a good job of supporting all major protocols for accessing their respective databases. A standard protocol is the "programming language" used for a program to communicate to a SQL database. The most common protocol is called tSQL, or Transact SQL. Transact SQL is a series of statements that a program can use to access data and create new tables in a SQL database. The statements can INSERT new records, DELETE old records and UPDATE existing records, along with a myriad of other functions. The international standard for this programming language is referred to as ANSI SQL. ANSI stands for American National Standards Institute. ANSI is a collective governing body that determines what the standard language will be. For example, ANSI decides such things as the word INSERT will be used in the programming language as opposed to the work ADD to insert a new record into a database. While both databases do a good job of supporting all major protocols, one of the most frequent complaints about MySQL is that it does not completely follow the ANSI SQL standard. This would not necessarily be any issue if your need for data storage never outgrows the capability of MySQL. However, if you data is constantly growing, there may be an eventual need to upgrade from MySQL to SQL Server to handle the vast amounts of data. In a situation like this, any application that has been written to manipulate a MySQL database will have to be revisited to be sure that the program is able to "communicate" with the new data store. For an Internet application, MySQL would be a good choice for tracking clients and creating dynamically populated pages with information from the database. For an application of moderate to large scale that is used for commerce of any kind, SQL Server is by far the better choice with more options and functionality to add, manipulate, update and delete data. Microsoft SQL Server is a relational database server, developed by Microsoft: it is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). There are at least a dozen different editions of Microsoft SQL Server aimed at different audiences and for different workloads (ranging from small applications that store and retrieve data on the same computer, to millions of users and computers that access huge amounts of data from the Internet at the same time).

24

3.1.5. ADO.NET ADO.NET is an object-oriented set of libraries that allows you to interact with data sources. Commonly, the data source is a database, but it could also be a text file, an Excel spreadsheet, or an XML file. As you are probably aware, there are many different types of databases available. For example, there is Microsoft SQL Server, Microsoft Access, Oracle, Borland Interbase, and IBM DB2, just to name a few. ADO.NET provides a relatively common way to interact with data sources, but comes in different sets of libraries for each way you can talk to a data source. These libraries are called Data Providers and are usually named for the protocol or data source type they allow you to interact with. ADO.NET Objects.ADO.NET is a set of classes that expose data access services for .NET Framework programmers. ADO.NET provides a rich set of components for creating distributed, data-sharing applications. It is an integral part of the .NET Framework, providing access to relational, XML, and application data. ADO.NET supports a variety of development needs, including the creation of front-end database clients and middle-tier business objects used by applications, tools, languages, or Internet browsers.ADO.NET provides consistent access to data sources such as SQL Server and XML and to data sources exposed through OLE DB and ODBC. Data-sharing consumer applications can use ADO.NET to connect to these data sources and retrieve, handle, and update the data that they contain. The ADO.NET classes are found in System.Data.dll, and are integrated with the XML classes found in System.Xml.dll. ADO.NET Components The two main components of ADO.NET 3.0 for accessing and manipulating data are the .NET Framework data providers and the DataSet. .NET Framework Data Providers The .NET Framework Data Providers are components that have been explicitly designed for data manipulation and fast,forward-only, read-only access to data. The Connectionobject provides connectivity to a data source. The Command object enables access to database commands to return data, modify data, run stored procedures, and send or retrieve parameter information. The DataReader provides a highperformance stream of data from the data source. Finally, the DataAdapter provides the bridge between theDataSet object and the data source. The DataAdapter uses Command objects to execute SQL commands at the data source to both load the DataSet with data and reconcile changes that were made to the data in the DataSet back to the data source.

25

The DataSet

The ADO.NET DataSet is explicitly designed for data access independent of any data source. As a result, it can be used with multiple and differing data sources, used with XML data, or used to manage data local to the application. The DataSet contains a collection of one or more DataTable objects consisting of rows and columns of data, and also primary key, foreign key, constraint, and relation information about the data in the DataTable objects. The following diagram illustrates the relationship between a .NET Framework data provider and a DataSet.
ADO.NET architecture

ADO.NET includes many objects you can use to work with data The SqlConnection Object To interact with a database, you must have a connection to it. The connection helps identify the database server, the database name, user name, password, and other parameters that are required for connecting to the data base. A connection object is used by command objects so they will know which database to execute the command on.

26

The SqlCommand Object The process of interacting with a database means that you must specify the actions you want to occur. This is done with a command object. You use a command object to send SQL statements to the database. A command object uses a connection object to figure out which database to communicate with. You can use a command object alone, to execute a command directly, or assign a reference to a command object to an SqlDataAdapter, which holds a set of commands that work on a group of data as described below. The SqlDataReader Object Many data operations require that you only get a stream of data for reading. The data reader object allows you to obtain the results of a SELECT statement from a command object. For performance reasons, the data returned from a data reader is a fast forwardonly stream of data. This means that you can only pull the data from the stream in a sequential manner This is good for speed, but if you need to manipulate data, then a DataSet is a better object to work with. The DataSet Object DataSet objects are in-memory representations of data. They contain multiple Datatable objects, which contain columns and rows, just like normal database tables. You can even define relations between tables to create parent-child relationships. The DataSet is specifically designed to help manage data in memory and to support disconnected operations on data, when such a scenario make sense. The DataSet is an object that is used by all of the Data Providers, which is why it does not have a Data Provider specific prefix. The SqlDataAdapter Object The SqlDataAdapter object serves as a bridge between an ADO.NET DataSet object and a SQL Server database.SqlDataAdapter is an intermediary object that populates an ADO.NET DataSet object with data that is retrieved from a SQL Server database, then updates the database to reflect the changes (such as inserts, updates, and deletes) that are made to the data by using the DataSet object.The Insert Command, the UpdateCommand, and the DeleteCommand properties of the SqlDataAdapter object update the database with the data modifications that are run on a DataSet object. These properties are SqlCommand objects that specify the INSERT, the UPDATE, and the DELETE Transact-SQL commands that are used to post the dataset modifications to the target database. The SqlCommand objects that are assigned to these properties can be created manually in code or automatically generated by using the SqlCommandBuilder object.

27

In order to use ADO.NET, we'll need to import namespace System.Data.SqlClient provides access to versions of SQL Server starting with SQL Server 7.0, which encapsulates database-specific. The System.Data.SqlClient namespace is the.NET Framework Data Provider for SQL Server.The.NET Framework Data Provider for SQL Server describes a collection of classes used to access a SQL Server database in the managed space. Using the SqlDataAdapter, you can fill a memoryresident DataSet that you can use to query and update the database. ' create a new SqlConnection object with the appropriate connection string Dim sqlConn As New SqlConnection(connectionString ' open the connection sqlConn.Open() // do some operations here... // close the connection sqlConn.Close() with the connection string usually taking this form: server=serverAddress;uid=username;pwd=password;database=database;

3.2 System Requirements Software Requirements: Operating System: Development Tool: DBMS: LANGUAGE: Microsoft Windows XP/2000/NT/7. Microsoft Visual Studio 2008 SQL Server. VB.NET

Hardware Requirements: Processor: RAM Required Hard Disk: Pentium II Or Above 256 MB 2.5 GB

28

3.3 Data Dictionary

tbllogin
Fields Type

Name Username Passowrd B.O.D

nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(max)

tblreminder
Fields Type

RDate RText Username RTime

nvarchar(50) nvarchar(50) nvarchar(50) Nchar(10)

tblContact Field Name Mobile Landline Email_ID Type nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50)
29

Username tblBirthday Field Name Birthday Username

nvarchar(50)

Type nvarchar(50) nvarchar(50) nvarchar(50)

tblAnniversary Field Name Anniversary Username Type nvarchar(50) nvarchar(50) nvarchar(50)

tblDailyHapp Field Subject Description Date Username


3.4 Screenshots

Type nvarchar(50) nvarchar(MAX) nvarchar(50) nvarchar(50)

30

31

32

33

34

35

36

37

Chapter 4 Coding

38

LOGIN FORM
Imports System.Data.SqlClient Public Class frmLogin Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click Try If txtUsrname.Text = "" Then ErrorProvider1.SetError(txtUsrname, "Enter Username") txtUsrname.Focus() Else ErrorProvider1.Clear() End If If txtPaswd.Text = "" Then ErrorProvider1.SetError(txtPaswd, "Enter Password") txtPaswd.Focus() Else ErrorProvider1.Clear() End If Dim con As New SqlConnection("server=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=me;Data Source=.\sqlexpress") con.Open() Dim cmd As New SqlCommand("select * from tbllogin where Username='" & txtUsrname.Text & "' and Password='" & txtPaswd.Text & "'", con) Dim dr As SqlDataReader dr = cmd.ExecuteReader If dr.HasRows Then 'MsgBox("Login Successful", MsgBoxStyle.OkOnly, "SUCCESS") Module1.name = txtUsrname.Text frmMain.Show() Me.Hide() MsgBox("Invalid Username or password.Please try again", MsgBoxStyle.Critical, "LOGIN FAILED") txtUsrname.Text = "" txtPaswd.Text = "" End If Catch ex As Exception MsgBox("Errorr Loading") End End Try End Sub Private Sub btnNewPIMAc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNewPIMAc.Click Try frmPIMAcount1.Show() Me.Hide() Catch ex As Exception End Try Else

39

New Account
Imports System.Data.SqlClient Public Class frmPIMAcount1

Private Sub btnPIMReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPIMReset.Click txtPIMName.Text = "" txtPIMusrname.Text = "" txtPIMpaswd.Text = "" MnClPIMDOB.Text = "" txtPIMName.Focus() End Sub

Private Sub btnPIMOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPIMOK.Click Dim con As New SqlConnection("server=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=me;Data Source=.\sqlexpress") con.Open() Dim cmd2 As New SqlCommand("select * from tbllogin where Username='" & txtPIMusrname.Text & "' ", con) Dim strg As String = "insert into tbllogin values ( '" & txtPIMName.Text & "', '" & txtPIMusrname.Text & "', '" & txtPIMpaswd.Text & "' ,'" & MnClPIMDOB.Value.Date & "')" Dim cmd As New SqlCommand(strg, con) Dim dr As SqlDataReader dr = cmd2.ExecuteReader

If txtPIMusrname.Text = "" Then ErrorProvider2.SetError(txtPIMusrname, "Enter Username") txtPIMusrname.Focus() Else ErrorProvider2.Clear() If dr.HasRows Then 'MsgBox("Login Successful", MsgBoxStyle.OkOnly, "SUCCESS") 'ErrorProvider2.SetError(txtPIMusrname, "username already exists") txtPIMusrname.Text = "Enter new Username" Else dr.Dispose() cmd.ExecuteNonQuery() MsgBox("You Are Registered", MsgBoxStyle.OkOnly) If MsgBoxResult.Ok Then txtPIMName.Text = "" txtPIMusrname.Text = "" txtPIMpaswd.Text = "" MnClPIMDOB.Text = "" txtPIMName.Focus() End If

40

End If End If If txtPIMpaswd.Text = "" Then ErrorProvider2.SetError(txtPIMpaswd, "Enter Password") txtPIMpaswd.Focus() Else ErrorProvider2.Clear() End If If txtPIMName.Text = "" Then ErrorProvider2.SetError(txtPIMName, "Enter Name") txtPIMName.Focus() Else ErrorProvider2.Clear() End If

End Sub Private Sub btnLoginAcc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoginAcc.Click frmLogin.Show() Me.Hide() End Sub End Class

Main form
Imports System.Data.SqlClient Public Class frmMain Private Sub SetReminderToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetReminderToolStripMenuItem.Click gbxReminder.Visible = True gbxBrthdy.Visible = False gbxAnvrsry.Visible = False gbxContact.Visible = False gbxDelAnvrsry.Visible = False gbxDelBrthdy.Visible = False gbxDelRemdr.Visible = False gbxContactDel.Visible = False gbxReminder.Location = New Point(300, 100) gbxReminder.Height = 450 gbxReminder.Width = 600 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRmdrOk.Click If (MnClRmdrDate.Value < DateTime.Now.Date) Or rtxtRmdrText.Text = "" Then MsgBox("Reminder can not be set") Return End If con.Open() 'da = New System.Data.SqlClient.SqlDataAdapter Dim t As String If RadioAM.Enabled = True Then t = ComboH.Text & ":" & ComboM.Text & "AM" Else

41

t = ComboH.Text & ":" & ComboM.Text & "pM" End If Dim strg As String = "insert into tblReminder values( '" & MnClRmdrDate.Value.Date & "','" & rtxtRmdrText.Text & "','" & Module1.name & "','" & t & "') " Dim cmd As New SqlCommand(strg, con) cmd.ExecuteNonQuery() MsgBox("Reminder set") gbxReminder.Hide() con.Close() End Sub Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Label1.Text = "HELLO " & Module1.name con.Open() Dim da As New SqlDataAdapter("select * from tblReminder where RDate='" & DateTime.Now.Date & "'and Username='" & Module1.name & "'", con) 'dr = cmd.ExecuteReader da.Fill(ds) If ds.Tables(0).Rows.Count = 0 Then Else

LinkReminder.Visible = True 'GBReminders.Visible = True DGReminder.DataSource = ds.Tables(0) DGReminder.Columns(2).Visible = False LinkReminder.Text = "Reminders :: " & ds.Tables(0).Rows.Count TxtRText.DataBindings.Add("text", ds.Tables(0), "RText") TxtRdate.DataBindings.Add("text", ds.Tables(0), "RDate")

End If da.Dispose() Dim daa As New SqlDataAdapter("select * from tblBirthday where Bdate='" & DateTime.Now.Date & "'and Username='" & Module1.name & "'", con) Dim dt As New DataTable daa.Fill(dt) If dt.Rows.Count = 0 Then 'gbxHmBrthdy.Visible = False 'Timer1.Enabled = False Else 'gbxHmBrthdy.Visible = True LinkBrthdy.Visible = True

DGHmBrthdy.DataSource = dt DGHmBrthdy.Columns(2).Visible = False LinkBrthdy.Text = "Birthdays :: " & dt.Rows.Count txtHmBrthNam.DataBindings.Add("text", dt, "Name") txtHmBrthDat.DataBindings.Add("text", dt, "Bdate") End If daa.Dispose() Dim dtt As New DataTable Dim daaa As New SqlDataAdapter("select * from tblAnvrsry where Adate='" & DateTime.Now.Date & "'and Username='" & Module1.name & "'", con) daaa.Fill(dtt) If dtt.Rows.Count = 0 Then 'gbxHmAnvrsry.Visible = False 'Timer1.Enabled = False

42

Else

'gbxHmAnvrsry.Visible = True LinkAnvrsry.Visible = True

DGHmAnvrsry.DataSource = dtt DGHmAnvrsry.Columns(2).Visible = False LinkAnvrsry.Text = "Anniversaries :: " & dtt.Rows.Count txtHmAnvrsryNam.DataBindings.Add("text", dtt, "Name") txtHmAnvrsryDat.DataBindings.Add("text", dtt, "Adate") End If daaa.Dispose() con.Close() End Sub Private Sub btnRmdrCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRmdrCancel.Click gbxReminder.Hide() End Sub Private Sub PIMToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) ' gbxPIM.Visible = True End Sub Private Sub btnPIMHome_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 'gbxPIM.Hide() End Sub Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim btn As Button btn = CType(sender, Button) End Sub Private Sub LinkReminder_LinkClicked_1(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkReminder.LinkClicked 'Timer1.Enabled = False GBReminders.Visible = True End Sub Private Sub SetReminderToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) gbxReminder.Show() End Sub Private Sub DeleteReminderToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteReminderToolStripMenuItem.Click gbxDelRemdr.Visible = True gbxReminder.Visible = False gbxBrthdy.Visible = False gbxAnvrsry.Visible = False gbxContact.Visible = False gbxDelAnvrsry.Visible = False gbxDelBrthdy.Visible = False gbxContactDel.Visible = False gbxDelRemdr.Location = New Point(300, 100) gbxDelRemdr.Height = 400

43

gbxDelRemdr.Width = 550 con.Open() txtDRdate.DataBindings.Clear() txtDRrem.DataBindings.Clear() txtDRtime.DataBindings.Clear() Dim da As New SqlDataAdapter("select * from tblReminder where Username='" & Module1.name & "'", con) da.Fill(ds) DGDeleteReminder.DataSource = ds.Tables(0) DGDeleteReminder.Columns(2).Visible = False txtDRrem.DataBindings.Add("text", ds.Tables(0), "RText") txtDRdate.DataBindings.Add("text", ds.Tables(0), "RDate") txtDRtime.DataBindings.Add("text", ds.Tables(0), "RTime") da.Dispose() con.Close() End Sub Private Sub BtnRdel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRdel.Click con.Open() cmd = New SqlCommand("delete from tblReminder where RText='" & txtDRrem.Text & "'", con) cmd.ExecuteNonQuery() MsgBox("Reminder deleted") con.Close() ds.Clear() DeleteReminderToolStripMenuItem_Click(sender, e) End Sub

44

Chapter 5 Testing
Executing a program with the intent of finding error

45

5. Testing Software testing is the critical element of ultimate review of specification, design and coding Testing of software leads to the uncovering of errors in the software, so that functional and performance requirements are met. Testing also provides a good indication of software reliability and software quality as a whole. The test of different phases are evaluated and then compared with expected results .If the errors are uncovered they are corrected and debugged.

Test Case1: New Account Test 1. Open the application. 2. Check whether the option to create new account exists. 3. Test whether the software shows an error if an username already exists. Test Case 2: LOGIN TEST 1. Open the application. 2. Check whether the process of logging is successful with correct login and unsuccessful with wrong data. Test Case 3: Notifications The user must be able to see notifications for birthdays, reminders and anniversaries. 1. Open the application. 2. Check whether the notifications are working properly Test Case 4: Search The user must be able to search the correct data. 1. Open the application. 2. Open Diary. Click on any option. 3. Check whether the application is able to search the correct data and reflect it correctly.

46

Chapter 6 Pros and Cons

47

PROS 1. It is an efficient app for remembering important things such as birthdays, phone numbers etc. 2. It is a multi user application. 3. It is secure.A password has to be set at the time of making an account. 4. Alteration of data is possible. 5. Search is available. 6. It has got separate section for separate types of data i.e organized data. 7. It is user friendly. 8. PIM relives us of manually maintain personal details.Using PIM one can just maintain details with great ease and convenience. CONS 1. In this version on screen notifications about reminders is not available i.e we need to open the application first to see our notifications. 2. The current version cant be customized to ones preference i.e one cannot change the color.background and similar features. 3. If the data gets erased by mistake ,all the info is lost.

48

Chapter 7 Future Scope


What can be added to the system in the future?

49

FUTURE SCOPE Since no system in the world is complete and only time can prove its incompleteness, same is the case with this system. Since it is an academic project, there is a lot of scope for this project in the future.: Feed Reader Add a RSS feed to PIM database or open the Feeds database and indulge in all the feeds you like. Dropbox Keep your databases synchronized across all of your computers effortlessly. You can synchronize all of your databases or select a subset of databases to synchronize.. Social Networking Intergration PIM will let you post content to popular services like Facebook, Twitter, Blogger, Tumblr, and many more. Speech Recognition You can completely control PIM voice commands. Color Themes It will let you customize the way the app looks from top to bottom. The default theme is Tulip theme. Bookmark and Password Manager An Internet Bookmarks Manager to consolidate all your bookmarks, and a Password Manager to store all those pesky passwords we are all forced to remember.

50

Chapter 8 Bibliography
Helping materialwhat and from where?

51

8.Bibliography Evangeloes Mastering Visual Basic 6 BPB Publications. Steven Holzner Black Book Dreamtech. MSDN Documentation. Elias M. Awad, System Analysis and Design, Galgotia Publications. Pankaj Jalote, An Integrated Approach To Software Engineering, Narosa Publishing. RogerS.Pressman Software Engineering A Practioners Approach,Tata McGraw Hill

Web references: [1] www.google.com [2] http://msdn.microsoft.com [3] en.wikipedia.org

52

You might also like