Beruflich Dokumente
Kultur Dokumente
1 Introduction
2 System Analysis
4 System Design
5 Software Technology
6 Testing
7 Sample Code
11 Bibiliography
Introduction
.
1.1 Introduction to Project:
The main objective of this “Student Portico” is to provide a comprehensive system that
can serve as the online communicator with the external world and at the same time can serve as
a personal assistant to keep track of the requirements and deadlines and to maintain personal
interests, and interaction to the users at anytime. It can communicate with the Web Blogs
through online service for social networking any where. Through this system one can
communicate with different users in social network area as well as can tell about oneself and
promoting articles to other people through this system.
Introduction:
With the advent of new technologies several packages/ facilities are available where
one can maintain personal information and sharing views with others, like Google Accounts,
Google scheduler to maintain personal information, for communication through social
networking sites like Orkut, Facebook and Twitter. These sites offers their services to the people
who have an account in this site through online.
They maintain the personal information of people who are currently using this site and sharing
their views to others who are followers to one account and currently having an account of their
own.
Thus this system provide the services to less number of people and provides less facilities for
maintaining personal interests and preferences in separate and promoting more profile
preferences of their own to the external world. Thus in order to overcome those issues a new
system was designed named “Student Portico”.
Student Portico that manages the group of Web pages that someone creates about
themselves. It basically contains things that are personal. A personal website must exhibit
content that tells readers about thoughts, ideas, interests, hobbies, family, friends,
feelings, or something feel strongly about your own. Online diaries, self-written books,
poems, family, pets, or a page about your favorite topic such as a sport, or a hobby are
examples of things that could go on personal website.
The trend of creating personal websites is growing day by day. One of the most
popular reasons to write a personal website is simply to publish and share one’s own
views. People like to project themselves. They will also maintain details of family,
relatives and friends which may include lots and lots of photos.
One of the most effective way to share our views and interests to others is to create
a weblog. The blog application has many built-in functionalities such as posting articles,
communicating, commenting, HTML editors etc.
Most Blogs are interactive, allowing visitors to leave comments and even message each
other. A blog is a frequently updated publication of comments and thoughts on Web. The
ability of a reader to leave comments in an interactive format is an important part of
every Blog
The personal news agent communicates with a content provider, and, for each user, it
filters and selects articles that are of specific interest to that user. The personal news agent also
requests more articles for the topics of higher importance to the user.
Online diaries have been popular ever since the beginning of the Web. Wherein
the information concerning entries each day, weekly or monthly. That is maintaining
daily activities and maintaining a scheduler on timely event, providing a reminder on
current day activities managing a report on income and expenditure and generating
financial portfolio reports and maintaining them in online and access and update them in
anywhere with the growth of the internet.
In this project a novel website is developed that combines all the above concepts
that takes care of the personal preferences by providing search over the web by using
personal preferences as the key words, and maintains relations with the external world
and also providing the interactivity through connectivity mechanism from one page to
another page by creating some hyper links.
System Analysis
Existing System
There are different applications which are capable of maintaining personal profile,
gathering information and sharing our views with others. Using Google accounts like Orkut to
maintain personal information, using search engines like Yahoo, Google etc. for gathering
information, Facebook and Twitter for sharing our views to others.
Whenever user wants to know information about people like celebrities or about some
people respective of his information or promote his information or anything that wants to tell
public then he will communicate by the phone or postal. But it takes more time.
And also it is impossible to tell to all the people. Then the existing system will respond to
the people very time consuming.
In the existing system if a person wants to promote any information or wants to get any
information then he communicate with people, which are less number of people only
communicated. But this is an impossible thing to communicate with the maximum number of
people. This is the main problem of the existing system.
• Existing system have these three applications i.e personal manager, blogs and search
for information are occurred in different applications
• This system require more amount of browsing time to use these three applications at a
time
• This system does not provide any facility for managing more amount of personal
information to anybody that is maintaining scheduler for timely event, managing income
and expenditure and generating financial portfolio reports etc.
Proposed System
The new system is working mainly through the online service. In this system user can view
people information through online.
Once customer enter into this system he can view people who are created their personal
websites and their information like profile and his interested areas. So user has no problem
about know people information and they can easily promote their comments through this site.
Hence using this new system he feels more comfortable with data communication as well as
people information. Through this system it reduces the time for doing these manipulations. It
saves the timing in the sense of promoting or expressing issues .
• Administrator
• User
• Blog
• Personal Activities
Administrator Module:
• Admin collects his personal details and Enters that details into the site.
• Maintaining remainder in his site regarding any event for a particular moment and
renewals etc.
• Selects the key words in a web page and provides information regarding each key word
in the database
User Module:
• View the information provided for each keyword in a particular web page
Blog Module:
• Only administrator is the Authenticated user to view and manage his Daily Activities
• This system provides all these three applications i.e personal manager, blogging,
search for information in a single website
• This system provide to create a separate page for each of our interested areas
• This system provides more security only some portion of data is visible to the users
• Basic and advance admin facilities like maintaining scheduler for timely events,
generating various financial port folios etc.
• Promote issues to all over the world with in little amount of time
Feasibility Study
Feasibility studies aim to objectively and rationally uncover the strengths and weaknesses of the
existing business or proposed venture, opportunities and threats as presented by the environment,
the resources required to carry through, and ultimately the prospects for success.
In its simplest term, the two criteria to judge feasibility are cost required and value to be attained.
As such, a well-designed feasibility study should provide a historical background of the business
or project, description of the product or service, accounting statements, details of the operations
and management, marketing research and policies, financial data, legal requirements and tax
implementation.
Output, Fields, Programs, and Procedures. This can be quantified in terms of volumes of data,
trends, frequency of updating, etc. in order to estimate whether the new system will perform
adequately or not.
Technological feasibility is carried out to determine whether the company has the capability, in
terms of software, hardware, personnel and expertise, to handle the completion of the project
Since it might happen that developing a particular system may be technically possible but it may
require huge investments and benefits may be less. For evaluating this, economic feasibility of
Operational Feasibility
Operational feasibility is mainly concerned with issues like whether the system will be used if it
is developed and implemented. Whether there will be resistance from users that will affect the
possible application benefits? The essential questions that help in testing the operational
Will it reduce the time (operation) considerably? If yes, then they will welcome the
Have the users been involved in the planning and development of the project? Early
Economic Feasibility
For any system if the expected benefits equal or exceed the expected costs, the system can be
judged to be economically feasible. In economic feasibility, cost benefit analysis is done in which
expected costs and benefits are evaluated. Economic analysis is used for evaluating the
effectiveness of the proposed system.
In economic feasibility, the most important is cost-benefit analysis. As the name suggests, it is an
analysis of the costs to be incurred in the system and benefits derivable out of the system.
System Requirement Specifications
Functional Requirements
Introduction:
Functional requirements may be calculations, technical details, data manipulation and processing
and other specific functionality that define what a system is supposed to accomplish. Behavioral
requirements describing all the cases where the system uses the functional requirements are
captured in use cases.
In order to show the functional requirements of the software we have to identify the following
activities.
Functional Requirements: In order to show the functional requirements of the software we
have to identify the following activities.
Identifying Actors:
1. Site Administrator
2. User
Roles of the Actors: The following are the roles of the actors
Site Administrator: The role of the Site Administrator is to maintain the total system and
rectify any complaints given by the users about their problems which are came from any
network .
User: The role of the User is he can view blog through this site and he can post comments
regarding articles posted by admin and he can also view the information about the site
Administrator who are created their own site.
INPUT:
PROCESSING:
After the UserId and Password entered and click on the login button these are validate
from the database and navigate to the homepage.
The different tasks will be performed after the Admin clicks on different features.
After logout button clicked on the page will be navigate to user home page.
OUTPUT:
The user willing to view the Admin details some details are permitted
If the Admin will select a particular task then that will be performed. And Finally the
result will be stored in database.
If logout button is clicked, then the application navigated to user home page.
Non Functional Requirements:
Non-Functional Requirements describe the aspect of the system that are not
directly related to its functional behavior. The different Non-functional
requirements for our project are
Security Requirements: In order to provide security to the data all the different
loginID’s are completed encrypted and then transferred online. A strong
encryption technique is used to encrypt all the sensitive data.
User Interface Requirement: The system has a wide range of very good
interface screens, whose colors are very soothing to the user, as per his
specifications. And also high quality resolution images and pictures are used all
over so the feel and look of the website will be excellent.
Software Requirements
Platform:
Server:
Apache Tomcat Web Server
Technology:
J2SE (Java 2 Second Edition) and J2EE (Java 2 Enterprise Edition)
API:
Java SQL Package (java.sql)
Database:
Oracle
HARD DISK : 20 GB
CDDRIVE : LG 52X
Unified Modeling Language is the one of the most exciting tools in the world of system
development today. Because UML enables system builders to create blue prints that capture their
visions in a standard, easy to understand way and communicate them to others. The UML is
Components of UML:
The UML consists of a number of graphical elements that combine to form diagrams. Because
it’s a language, the UML has rules for combining these elements. The purpose of the diagrams to
present multiple views of the system, and this set of multiple views is called a Model. A UML
Model of a system is something like a scale model of a building. UML model describes what a
A Use-Case is a description of a systems behavior from a users stand point. For system developer
this is a valuable tool: it’s a tried-and-true technique for gathering system requirements from a
user’s point of view. A little stick figure is used to identify an actor the ellipse represents use-case
functions.
Notations of Use Cases
Use cases. A use case describes a sequence of actions that provide something of measurable value
Actors. An actor is a person, organization, or external system that plays a role in one or more
Associations. Associations between actors and use cases are indicated in use case diagrams by
solid lines. An association exists whenever an actor is involved with an interaction described by a
use case. Associations are modeled as lines connecting use cases and actors to one another, with
an optional arrowhead on one end of the line. The arrowhead is often used to indicating the
direction of the initial invocation of the relationship or to indicate the primary actor within the use
case. The arrowheads are typically confused with data flow and as a result I avoid their use.
System boundary boxes (optional). You can draw a rectangle around the use cases, called the
system boundary box, to indicates the scope of your system. Anything within the box represents
functionality that is in scope and anything outside the box is not. System boundary boxes are
rarely used, although on occasion I have used them to identify which use cases will be delivered
Class diagrams describe the structure of the system in terms of classes and objects.
Classes are abstractions that specify the attributes and behavior of a set of objects. Objects are
entities that encapsulate state and behavior. Each object has an identity: It can be referred
Illustrate classes with rectangles divided into compartments. Place the name of the class in the
first partition (centered, bolded, and capitalized), list the attributes in the second partition, and
Active Class
Active classes initiate and control the flow of activity, while passive classes store data and serve
Visibility
Use visibility markers to signify who can access the information contained within a class. Private
visibility hides information from anything outside the class partition. Public visibility allows all
other classes to view the marked information. Protected visibility allows child classes to access
Associations
Associations represent static relationships between classes. Place association names above, on, or
below the association line. Use a filled arrow to indicate the direction of the relationship. Place
roles near the end of an association. Roles represent the way the two classes see each other.
Note: It's uncommon to name both the association and the class roles.
Multiplicity (Cardinality)
Place multiplicity notations near the ends of an association. These symbols indicate the number of
instances of one class linked to one instance of the other class. For example, one company will
have one or more employees, but each employee works for one company only.
Composition and Aggregation
Composition is a special type of aggregation that denotes a strong ownership between Class A,
the whole, and Class B, its part. Illustrate composition with a filled diamond. Use a hollow
diamond to represent a simple aggregation relationship, in which the "whole" class plays a more
important role than the "part" class, but the two classes are not dependent on each other. The
diamond end in both a composition and aggregation relationship points toward the "whole" class
or the aggregate.
Generalization
Generalization is another name for inheritance or an "is a" relationship. It refers to a relationship
between two classes where one class is a specialized version of another. For example, Honda is a
type of car. So the class Honda would have a generalization relationship with the class car.
Sequence Diagrams
Sequence diagrams describe interactions among classes in terms of an exchange of messages over
time.
Class roles
Class roles describe the way an object will behave in context. Use the UML object symbol to
Activation
Messages
Messages are arrows that represent communication between objects. Use half-arrowed lines to
represent asynchronous messages. Asynchronous messages are sent from an object that will not
wait for a response from the receiver before continuing its tasks.
Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over time.
Sequence Diagram:
State Chart Diagrams
A statechart diagram shows the behavior of classes in response to external stimuli. This diagram
models the dynamic flow of control from state to state within a system.
States
States represent situations during the life of an object. You can easily illustrate a state in
Transition
A solid arrow represents the path between different states of an object. Label the transition with
the event that triggered it and the action that results from it.
Initial State
Final State
An arrow pointing to a filled circle nested inside another circle represents the object's final state.
Synchronization and Splitting of Control
A short heavy bar with two transitions entering it represents a synchronization of control. A short
heavy bar with two transitions leaving it represents a splitting of control that creates multiple
states.
Login AddtoCa
rt
news/blog/profile/dailyact...
Activity Diagrams
An activity diagram illustrates the dynamic nature of a system by modeling the flow of control
from activity to activity. An activity represents an operation on some class in the system that
results in a change in the state of the system. Typically, activity diagrams are used to model
workflow or business processes and internal operation. Because an activity diagram is a special
Action states
Action states represent the noninterruptible actions of objects. You can draw an action state in
Action Flow
Object flow refers to the creation and modification of objects by activities. An object flow arrow
from an action to an object means that the action creates or influences the object. An object flow
arrow from an object to an action indicates that the action state uses the object.
Initial State
Final State
An arrow pointing to a filled circle nested inside another circle represents the final action state.
Branching
A diamond represents a decision with alternate paths. The outgoing alternates should be labeled
with a condition or guard expression. You can also label one of the paths "else."
Synchronization
A synchronization bar helps illustrate parallel transitions. Synchronization is also called forking
and joining.
login fail
success
Collaboration diagrams represent a combination of information taken from class, sequence, and
use case diagrams describing both the static structure and dynamic behavior of a system.
Class roles
Class roles describe how objects behave. Use the UML object symbol to illustrate class roles, but
Association roles
Association roles describe how an association will behave given a particular situation. You can
Messages
Unlike sequence diagrams, collaboration diagrams do not have an explicit way to denote time and
instead number messages in order of execution. Sequence numbering can become nested using
the Dewey decimal system. For example, nested messages under the first message are labeled 1.1,
1.2, 1.3, and so on. The a condition for a message is usually placed in square brackets
immediately following the sequence number. Use a * after the sequence number to indicate a
loop.
System Design
A software design document (SDD) is a written description of a software product, that a software
designer writes in order to give a software development team an overall guidance of the
architecture of the software project.
A design document needs to be a stable reference, outlining all parts of the software and how they
will work. The document is commanded to give a fairly complete description, while maintaining
a high-level view of the software.
3 Tier Architecture
Three-tier[2] is a client–server architecture in which the user interface, functional process logic
("business rules"), computer data storage and data access are developed and maintained as
independent modules, most often on separate platforms. It was developed by John J. Donovan in
Open Environment Corporation (OEC), a tools company he founded in Cambridge,
Massachusetts.
Presentation tier
This is the topmost level of the application. The presentation tier displays information related
to such services as browsing merchandise, purchasing, and shopping cart contents. It
communicates with other tiers by outputting results to the browser/client tier and all other tiers in
the network.
Data tier
This tier consists of database servers. Here information is stored and retrieved. This tier keeps
data neutral and independent from application servers or business logic. Giving data its own tier
also improves scalability and performance.
Deployment Diagrams
Deployment diagrams depict the physical resources in a system including nodes, components,
and connections.
Component
User interface design or user interface engineering is the design of computers, appliances,
machines, mobile communication devices, software applications, and websites with the focus on
the user's experience and interaction.
The goal of user interface design is to make the user's interaction as simple and efficient as
possible, in terms of accomplishing user goals—what is often called user-centered design.
Good user interface design facilitates finishing the task at hand without drawing unnecessary
attention to itself. Graphic design may be utilized to support its usability. The design process
must balance technical functionality and visual elements (e.g., mental model) to create a system
that is not only operational but also usable and adaptable to changing user needs.
Interface design is involved in a wide range of projects from computer systems, to cars, to
commercial planes; all of these projects involve much of the same basic human interactions yet
also require some unique skills and knowledge.
As a result, designers tend to specialize in certain types of projects and have skills centered
around their expertise, whether that be software design, user research, web design, or industrial
design.
When you are developing the user interface for your system you will discover that your
stakeholders often have some unusual ideas as to how the user interface should be developed.
You should definitely listen to these ideas but you also need to make your stakeholders aware of
your corporate UI standards and the need to conform to them.
Your users need to know how to work with the application you built for them. When an
application works consistently, it means you only have to explain the rules once. This is a lot
easier than explaining in detail exactly how to use each feature in an application step-by-step.
If it is difficult to get from one screen to another, then your users will quickly become frustrated
and give up. When the flow between screens matches the flow of the work the user is trying to
accomplish, then your application will make sense to your users. Because different users work in
different ways, your system needs to be flexible enough to support their various approaches. User
interface-flow diagrams should optionally be developed to further your understanding of the flow
of your user interface.
In Western societies, people read left to right and top to bottom. Because people are used to this,
should you design screens that are also organized left to right and top to bottom when designing a
user interface for people from this culture? You want to organize navigation between widgets on
your screen in a manner users will find familiar to them.
The text you display on your screens is a primary source of information for your users. If your
text is worded poorly, then your interface will be perceived poorly by your users. Using full
words and sentences, as opposed to abbreviations and codes, makes your text easier to
understand. Your messages should be worded positively, imply that the user is in control, and
provide insight into how to use the application properly. For example, which message do you find
more appealing “You have input the wrong information” or “An account number should be eight
digits in length.” Furthermore, your messages should be worded consistently and displayed in a
consistent place on the screen. Although the messages “The person’s first name must be input”
and “An account number should be input” are separately worded well, together they are
inconsistent. In light of the first message, a better wording of the second message would be “The
account number must be input” to make the two messages consistent.
You should use the right widget for the right task, helping to increase the consistency in your
application and probably making it easier to build the application in the first place. The only way
you can learn how to use widgets properly is to read and understand the user-interface standards
and guidelines your organization has adopted.
Unless you know another application has been verified to follow the user interface-standards and
guidelines of your organization, don’t assume the application is doing things right. Although
looking at the work of others to get ideas is always a good idea, until you know how to
distinguish between good user interface design and bad user interface design, you must be
careful. Too many developers make the mistake of imitating the user interface of poorly designed
software.
Color should be used sparingly in your applications and, if you do use it, you must also use a
secondary indicator. The problem is that some of your users may be color blind and if you are
using color to highlight something on a screen, then you need to do something else to make it
stand out if you want these people to notice it. You also want to use colors in your application
consistently, so you have a common look and feel throughout your application.
If you are going to use color in your application, you need to ensure that your screens are still
readable. The best way to do this is to follow the contrast rule: Use dark text on light backgrounds
and light text on dark backgrounds. Reading blue text on a white background is easy, but reading
blue text on a red background is difficult. The problem is not enough contrast exists between blue
and red to make it easy to read, whereas there is a lot of contrast between blue and white.
12. Align fields effectively.
When a screen has more than one editing field, you want to organize the fields in a way that is
both visually appealing and efficient. I have always found the best way to do so is to left-justify
edit fields: in other words, make the left-hand side of each edit field line up in a straight line, one
over the other. The corresponding labels should be right-justified and placed immediately beside
the field. This is a clean and efficient way to organize the fields on a screen.
13. Expect your users to make mistakes. How many times have you accidentally
deleted some text in one of your files or deleted the file itself? Were you able to recover from
these mistakes or were you forced to redo hours, or even days, of work? The reality is that to err
is human, so you should design your user interface to recover from mistakes made by your users.
For columns of data, common practice is to right-justify integers, decimal align floating-point
numbers, and to left-justify strings.
In other words, if your users don’t know how to use your software, they should be able to
determine how to use it by making educated guesses. Even when the guesses are wrong, your
system should provide reasonable results from which your users can readily understand and
ideally learn.
Crowded screens are difficult to understand and, hence, are difficult to use. Experimental results
show that the overall density of the screen should not exceed 40 percent, whereas local density
within groupings should not exceed 62 percent.
Items that are logically connected should be grouped together on the screen to communicate they
are connected, whereas items that have nothing to do with each other should be separated. You
can use white space between collections of items to group them and/or you can put boxes around
them to accomplish the same thing.
Data Design
INTRODUCTION:
Persistent data and objects that have been derived during the Design is used to develop the
database. Storing data in a database enables the system to perform complex queries on a large data set.
Where and how the data is stored in the system impacts the system decomposition. The selection of a
specific data base management system can also have the implications on the overall control strategy
and concurrency management.
Entity Type: Any thing in the real world that has the same characteristics or attributes can be
termed as an Entity. For example student can be called as an entity as they have the same
attributes such as roll number, name, address etc.
Attributes: The characteristics of an entity are called as attributes. Each entity will have its own
values for each attribute. For example the attributes for a student entity are roll number, name,
address etc. A Student entity such as Ravi will have its own values such as 1, Ravi,
Visakhapatnam etc.
Entity Set: The collection of entities of a particular entity type are grouped into an Entity Set. For
example if employee is the entity type then the collection of all the employees is referred as the
entity set.
Notations for ER-Diagram: In the ER diagrams the cardinality ration between the entity types can
be represented by attaching 1, M, or N on each participating edge. For example the cardinality
ratio of Department:Employee for manages is 1:1.
Double Diamonds: These represent the identifying relationship between the entities.
Lines: Lines represent the connection between the attributes to their entities, and also entities
to entities.
Normalization
The process of analyzing the data to be represented and breaking it down into separate tables in
accordance with the principles of relational structure.
Normalization reduces redundancy. Redundancy is the unnecessary repetition of data. It can cause
problems with storage and retrieval of data redundancy can lead to inconsistence. Errors are more
likely to occur when facts are repeated. Update anomalies inserting, deleting, modifying data may
cause inconsistence. There is high likelihood of updating or deleting data in one relation, while
omitting to make corresponding changes in other relations.
During the process of normalization, we can identify dependence, which can cause problems when
deleting or updating. Normalization also helps to simplify the structure of tables to fully normalize
record, which should consist of a primary key that identifies that entity is a set of attributes that
describes the entity.
Normal Forms
Normalization results in the formation of tables that satisfy certain specified constraints and represent
certain normal forms. Normal forms are table structures with minimum redundancy.
Login Table:
Username Varchar2 20
Password Varchar2 20
Blog Table:
Blogid Number 5
Btitle Varchar2 50
Subject Varchar2 50
Bdate Varchar2 50
News Table:
Newsid Number 5
Dailyactivities table :
Attribute Data type Size
Did Number 5
Aday Varchar2 50
Month Varchar2 50
Year Varchar2 50
Time Varchar2 50
Activity Varchar2 50
Income table :
Iid Number(5) 5
Iitem Varchar2 50
Iamt Varchar2 50
Day Varchar2 50
Month Varchar2 50
Year Varchar2 50
Expenditure table:
Eid Number 5
Eitem Varchar2 50
Eamt Varchar2 50
Day Varchar2 50
Month Varchar2 50
Year Varchar2 50
land table :
Lid Number 5
Type Varchar2 50
Acers Varchar2 50
Place Varchar2 50
Value Varchar2 50
stocks table :
Stid Number 5
Company Varchar2 50
Shares Varchar2 50
Value Varchar2 50
Amount Varchar2 50
payments table :
Attribute Data type Size
Pid Number 5
Type Varchar2 50
Description Varchar2 50
Amount Varchar2 50
Day Varchar2 50
Month Varchar2 50
Year Varchar2 50
Reminders table :
Rid Number 5
Type Varchar2 50
Description Varchar2 50
Day Varchar2 50
Month Varchar2 50
Year Varchar2 50
comments table :
Blogid Number 5
Comments Varchar2 500
Postedby Varchar2 50
Bdate Varchar2 50
Software Technology
Technologies Used
HTML
Hypertext Markup Language (HTML), the languages of the World Wide Web (WWW), allows users
to produces Web pages that include text, graphics and pointer to other Web pages (Hyperlinks).
HTML is not a programming language but it is an application of ISO Standard 8879, SGML (Standard
Generalized Markup Language), but specialized to hypertext and adapted to the Web. The idea behind
Hypertext is that instead of reading text in rigid linear structure, we can easily jump from one point to
another point.
Even though JavaScript supports both client and server Web programming, we prefer JavaScript at
Client side programming since most of the browsers supports it. JavaScript is almost as easy to learn
as HTML, and JavaScript statements can be included in HTML documents by enclosing the
statements between a pair of scripting tags
<SCRIPTS>.. </SCRIPT>.
JavaScript statements
</SCRIPT>
Animate images or rotate images that change when we move the mouse over them.
Detect the browser in use and display different content for different browsers.
Initially the language was called as “oak” but it was renamed as “Java” in 1995. The primary
motivation of this language was the need for a platform-independent (i.e., architecture neutral)
language that could be used to create software to be embedded in various consumer electronic
devices.
Features of Java
Portability
For programs to be dynamically downloaded to all the various types of platforms connected to the
Internet, some means of generating portable executable code is needed.
The key that allows the Java to solve the security and portability problems is that the output of
Java compiler is Byte code. Byte code is a highly optimized set of instructions designed to be
executed by the Java run-time system, which is called the Java Virtual Machine (JVM). That is,
in its standard form, the JVM is an interpreter for byte code.
Simple
Java was designed to be easy for the Professional programmer to learn and to use effectively. If
you are an experienced C++ programmer, learning Java will be even easier. Because Java inherits
the C/C++ syntax and many of the object oriented features of C++. Most of the confusing
concepts from C++ are either left out of Java or implemented in a cleaner, more approachable
manner. In Java there are a small number of clearly defined ways to accomplish a given task.
Object-Oriented
Java was not designed to be source-code compatible with any other language. This allowed the
Java team the freedom to design with a blank slate. One outcome of this was a clean usable,
pragmatic approach to objects. The object model in Java is simple and easy to extend, while
simple types, such as integers, are kept as high-performance non-objects.
Robust
The multi-platform environment of the Web places extraordinary demands on a program, because
the program must execute reliably in a variety of systems. The ability to create robust programs
was given a high priority in the design of Java. Java is strictly typed language; it checks your
code at compile time and run time.
Java virtually eliminates the problems of memory management and de-allocation, which is
completely automatic. In a well-written Java program, all run time errors can –and should –be
managed by your program.
Java Database Connectivity
What Is JDBC?
JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a trademarked
name and is not an acronym; nevertheless, JDBC is often thought of as standing for Java
Database Connectivity. It consists of a set of classes and interfaces written in the Java
programming language. JDBC provides a standard API for tool/database developers and makes it
possible to write database applications using a pure Java API.
Using JDBC, it is easy to send SQL statements to virtually any relational database. One can write
a single program using the JDBC API, and the program will be able to send SQL statements to
the appropriate database. The combinations of Java and JDBC lets a programmer write it once
and run it anywhere.
JDBC
DBMS-proprietary protocol
Java applet or
Html browser Client machine (GUI)
Application
Server (Java)
JDBC Server machine (business Logic)
DBMS-proprietary protocol
Database server
DBMS
Testing
A test plan is a document detailing a systematic approach to testing a system such as a machine or
software. The plan typically contains a detailed understanding of what the eventual workflow will be.
A test plan documents the strategy that will be used to verify and ensure that a product or system
meets its design specifications and other requirements. A test plan is usually prepared by or with
significant input from Test Engineers.
Depending on the product and the responsibility of the organization to which the test plan applies, a
test plan may include one or more of the following:
* Service and Repair test - to be performed as required over the service life of the product.
A test strategy is an outline that describes the testing portion of the software development cycle. It is
created to inform project managers, testers, and developers about some key issues of the testing
process. This includes the testing objective, methods of testing new functions, total time and resources
required for the project, and the testing environment.
The test strategy describes how the product risks of the stakeholders are mitigated at the test-level,
which types of test are to be performed, and which entry and exit criteria apply.
The test strategy is created based on development design documents. The system design document is
the main one used and occasionally, the conceptual design document can be referred to. The design
documents describe the functionalities of the software to be enabled in the upcoming release. For
every set of development design, a corresponding test strategy should be created to test the new
feature sets.
Test Levels
The test strategy describes the test level to be performed. There are primarily three levels of testing:
unit testing, integration testing, and system testing. In most software development organizations, the
developers are responsible for unit testing. Individual testers or test teams are responsible for
integration and system testing.
Functional Testing
Functional testing is a type of black box testing that bases its test cases on the specifications of the
software component under test. Functions are tested by feeding them input and examining the output,
and internal program structure is rarely considered.[1]
Functional testing differs from system testing in that functional testing "verif[ies] a program by
checking it against ... design document(s) or specification(s)", while system testing "validate[s] a
program by checking it against the published user or system requirements
Functional testing typically involves five steps[citation needed]:
Test Cases
A test case is a set of input data and expected results that exercises a component with the purpose of
causing failures and detecting faults. A test case has five attributes: name, location, input, oracle, and
log. The name of the test case allows the tester to distinguish between different test cases. A heuristic
for naming test cases is to derive the name from the requirement it is testing or from the component
being tested. The location attribute describes where the test case can be found. It should be either the
pathname or the URL to the executable of the test program and its inputs.
Input describes the set of input data or commands to be entered by the actor of the test case. The
expected behavior is described by the oracle attribute. The log is set of time-stamped correlations of
the observed behavior with the expected behavior for various test runs.
TEST INPUT TEST CASE EXPECTED OBSERVED
CASE VALUE DESCRIPTION VALUE VALUE
ID
Click login When enter Should Successfully
1. button Username and successfully Displayed the
password Redirect to home page
Admin Home
Page
Without enter the Error message Error message is
Username and should be displayed
Password displayed
Click Add blog When enter all Blog added Blog added
2. option the details successfully successfully
Requirements Specifications
A Software Requirements Specification (SRS) - a requirements specification for a
software system - is a complete description of the behavior of a system to be developed.
It includes a set of use cases that describe all the interactions the users will have with the
software. Use cases are also known as functional requirements. In addition to use cases,
the SRS also contains non-functional (or supplementary) requirements. Non-functional
requirements are requirements which impose constraints on the design or implementation
(such as performance engineering requirements, quality standards, or design constraints).
Design
Software design is a process of problem-solving and planning for a software solution.
After the purpose and specifications of software are determined, software developers will
design or employ designers to develop a plan for a solution. It includes low-level
component and algorithm implementation issues as well as the architectural view.
Implementation
Computer programming (often shortened to programming or coding) is the process of
designing, writing, testing, debugging / troubleshooting, and maintaining the source code
of computer programs. This source code is written in a programming language. The
purpose of programming is to create a program that exhibits a certain desired behaviour.
The process of writing source code often requires expertise in many different subjects,
including knowledge of the application domain, specialized algorithms and formal logic.
Testing
Software testing is an investigation conducted to provide stakeholders with information
about the quality of the product or service under test.[1] Software testing also provides
an objective, independent view of the software to allow the business to appreciate and
understand the risks of software implementation. Test techniques include, but are not
limited to, the process of executing a program or application with the intent of finding
software bugs.
Software testing can also be stated as the process of validating and verifying that a
software program/application/product:
1. meets the business and technical requirements that guided its design and
development;
2. works as expected; and
3. can be implemented with the same characteristics.
Installation
Software deployment is all of the activities that make a software system available for use.
The general deployment process consists of several interrelated activities with possible
transitions between them. These activities can occur at the producer site or at the
consumer site or both. Because every software system is unique, the precise processes or
procedures within each activity can hardly be defined. Therefore, "deployment" should be
interpreted as a general process that has to be customized according to specific
requirements or characteristics. A brief description of each activity will be presented
later.
Maintenance
Software maintenance in software engineering is the modification of a software product
after delivery to correct faults, to improve performance or other attributes.[1]
Software maintenance and evolution of systems was first addressed by Meir M. Lehman
in 1969. Over a period of twenty years, his research led to the formulation of eight Laws
of Evolution (Lehman 1997). Key findings of his research include that maintenance is
really evolutionary developments and that maintenance decisions are aided by
understanding what happens to systems (and software) over time. Lehman demonstrated
that systems continue to evolve over time. As they evolve, they grow more complex
unless some action such as code refactoring is taken to reduce the complexity.
The key software maintenance issues are both managerial and technical. Key
management issues are: alignment with customer priorities, staffing, which organization
does maintenance, estimating costs. Key technical issues are: limited understanding,
impact analysis, testing, and maintainability measurement.
CONCLUSION
The project “Student Portico” is a comprehensive web based application which presents a
very efficient way for students who want to maintain and also display their personal details and
This thought can be achieved by this project, as the student can add blogs and other
people can view their blogs so that it provides them a very good opportunity to exchange ideas.
The project is been tested and has been successful without any defects arising from it.
Bibiliography
Book References:
Web References:
http://www.uml.org
http://java.sun.com/docs/books/tutorial/jsp/index.html
http://www.finalsemprojects.com
http://www.roseindia.net