Student Portico Complete Documentation

110
S.No Content Page No. 1 Introduction 2 System Analysis 2. 1 Domain Analysis 2. 2 Existing system 2. 3 Proposed System 2. 4 Feasibility Study 3 System Requirements Specifications 3. 1 Functional Requirements 3. 2 Non Functional Requirements 3. 3 Software Requirements 3. 4 Hardware Requirements 3. 5 UML Representation for Analysis 4 System Design 4. 1 Procedural Design 4. User Interface Design

Transcript of Student Portico Complete Documentation

Page 1: Student Portico Complete Documentation

S.No Content Page No.

1 Introduction

2 System Analysis

2.1 Domain Analysis

2.2 Existing system

2.3 Proposed System

2.4 Feasibility Study

3 System Requirements Specifications

3.1 Functional Requirements

3.2 Non Functional Requirements

3.3 Software Requirements

3.4 Hardware Requirements

3.5 UML Representation for Analysis

4 System Design

4.1 Procedural Design

4.2 User Interface Design

4.3 Architecture Design

4.4 UML Design Diagrams

4.5 Database Design

5 Software Technology

6 Testing

6.1 Test Cases

7 Sample Code

8 Input & Output Results

Page 2: Student Portico Complete Documentation

9 Software Development Life Cycle

10 Conclusion

11 Bibiliography

Page 3: Student Portico Complete Documentation

Introduction

.

Page 4: Student Portico Complete Documentation

1.1 Introduction to Project:

Objective and Scope:

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,

Page 5: Student Portico Complete Documentation

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.

Page 6: Student Portico Complete Documentation

System Analysis

Page 7: Student Portico Complete Documentation

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.

Problems of the Existing system

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 only pre-requested fields in profile

• 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.

Page 8: Student Portico Complete Documentation

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 .

The modules in this Proposed System are:

• Administrator

• User

• Blog

• Personal Activities

Administrator Module:

• Admin collects his personal details and Enters that details into the site.

• Manage his profile and add/update/delete the data

• Add his education, family and friends details and hobbies

• Add the News and collects the information about preferences

• Add the blog and manage the blog

• View the users questions and provides answers

• Post the messages ,articles in the blog

• View the comments posted by the users.

Page 9: Student Portico Complete Documentation

• Manage his scheduler and manage his income and expenditures and his financial information

• 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 profile, education and family details

• View the hobbies and interested areas

• View the updated news

• View the Blog

• View the posted articles and message

• Post the comments regarding the articles

• View the information provided for each keyword in a particular web page

Blog Module:

• Administrator add the personal Blog

• Admin add/update/delete the Blog

• Admin post the articles, messages, images, text etc.

• User view the Blog

• User view the posted articles and messages

• User post the comments regarding the articles and messages

Personal Activities Module:

• Only administrator is the Authenticated user to view and manage his Daily Activities

• Maintaining and managing the scheduler

• Managing his financial information details

Page 10: Student Portico Complete Documentation

• Managing his income and expenditures details

• Maintaining a remainder for timely event and renewals etc.

Advantages of Proposed System

• This system provides all these three applications i.e personal manager, blogging, search for information in a single website

• Less browsing time required to browse these three applications at a time

• 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

• Secure authentication and profile management facilities for administrator

• Facilitating communication – commenting on articles, posting messages etc

• 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

Page 11: Student Portico Complete Documentation

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

obligations. Generally, feasibility studies precede technical development and project

implementation.

They are 3 types of Feasibility

Technology and system feasibility

The assessment is based on an outline design of system requirements in terms of Input, Processes,

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

Whether the required technology is available or not

Whether the required resources are available

Manpower- programmers, testers & debuggers

Software and hardware

Page 12: Student Portico Complete Documentation

Once the technical feasibility is established, it is important to consider the monetary factors also.

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

the proposed system is carried out.

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

feasibility of a system are following.

Does management support the project?

Are the users not happy with current business practices?

Will it reduce the time (operation) considerably? If yes, then they will welcome the

change and the new system.

Have the users been involved in the planning and development of the project? Early

involvement reduces the probability of resistance towards the new system.

Will the proposed system really benefit the organization?

Does the overall response increase?

Will accessibility of information be lost?

Will the system effect the customers in considerable way?

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.

Page 13: Student Portico Complete Documentation

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.

Page 14: Student Portico Complete Documentation

System Requirement Specifications

Page 15: Student Portico Complete Documentation

Functional Requirements

Introduction:

In software engineering, a functional requirement defines a function of a software system or its

component. A function is described as a set of inputs, the behavior, and outputs (see also

software).

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.

Page 16: Student Portico Complete Documentation

Functional Requirements: In order to show the functional requirements of the software we

have to identify the following activities.

Identifying Actors :

The different actors involved with the Project:

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:

Admin first enters the Username and password.

Admin clicks the login button.

Admin clicks on the different features which are available.

Admin clicks on logout button.

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.

Page 17: Student Portico Complete Documentation

OUTPUT:

First it displays the User homepage

The user willing to view the Admin details some details are permitted

The user can post the comments on the blog articles

Admin is authenticated person to manage personal activities

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.

Page 18: Student Portico Complete Documentation

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

Performance Requirements: Since the software is online, therefore much of the

performance of the system depends on the traffic that is present online and the

speed of the Internet. We are trying to give an improved performance by setting

cookies to the functions so that when the user submits something for the second

time, the processing is done much quicker.

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.

Quality Software Requirements: The software is developed with a very high

quality, as the users can find their required data very quickly and efficiently. We

will also provide a user documentation with which the user can use the software

very easily.

External Interface Requirements:

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.

Page 19: Student Portico Complete Documentation

Software Requirements

Platform:

Windows XP Operating System

Server:

Apache Tomcat Web Server

Technology:

J2SE (Java 2 Second Edition) and J2EE (Java 2 Enterprise Edition)

API:

Java SQL Package (java.sql)

Java Servlet Package (javax.servlet)

Database:

Oracle

Front End Design Tool:

HTML, DHTML, Dreamweaver, Javascript, Cascading Style Sheets

Image Design Tools:

Adobe Photoshop

Page 20: Student Portico Complete Documentation

Hardware Requirements

PROCESS : PENTIUM IV 2.6 GHz

RAM : 512 MB DD RAM

MONITOR : 15” COLOR

HARD DISK : 20 GB

CDDRIVE : LG 52X

KEYBOARD : STANDARD 102 KEYS

Page 21: Student Portico Complete Documentation

UML Diagrams

Page 22: Student Portico Complete Documentation

Introduction to UML

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

brainchild of Grady Brooch, James Rumbaugh and Ivar Jacobson.

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

system is supposed to do. It doesn’t tell how to implement the system.

Use Case Diagram:

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.

Page 23: Student Portico Complete Documentation

Notations of Use Cases

Use cases. A use case describes a sequence of actions that provide something of measurable value

to an actor and is drawn as a horizontal ellipse.

Actors. An actor is a person, organization, or external system that plays a role in one or more

interactions with your system. Actors are drawn as stick figures.

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.

Page 24: Student Portico Complete Documentation

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

in each major release of a system.

Page 25: Student Portico Complete Documentation

Use Case for Admin:

Admin Usecase Diagram

Page 26: Student Portico Complete Documentation

Class Diagrams:

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

individually and is distinguishable from other objects.

Basic Class Diagram Symbols and Notations

Classes represent an abstraction of entities with common characteristics. Associations represent

the relationships between classes.

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

write operations into the third.

Active Class

Active classes initiate and control the flow of activity, while passive classes store data and serve

other classes. Illustrate active classes with a thicker border.

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

Page 27: Student Portico Complete Documentation

other classes to view the marked information. Protected visibility allows child classes to access

information they inherited from a parent class

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.

Page 28: Student Portico Complete Documentation

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.

Page 29: Student Portico Complete Documentation
Page 30: Student Portico Complete Documentation

Sequence Diagrams

Sequence diagrams describe interactions among classes in terms of an exchange of messages over

time.

Basic Sequence Diagram Symbols and Notations

Class roles

Class roles describe the way an object will behave in context. Use the UML object symbol to

illustrate class roles, but don't list object attributes.

Activation

Activation boxes represent the time an object needs to complete a task.

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.

Page 31: Student Portico Complete Documentation

Lifelines

Lifelines are vertical dashed lines that indicate the object's presence over time.

Page 32: Student Portico Complete Documentation

Sequence Diagram:

Page 33: Student Portico Complete Documentation

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.

Basic Statechart Diagram Symbols and Notations

States

States represent situations during the life of an object. You can easily illustrate a state in

SmartDraw by using a rectangle with rounded corners.

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

A filled circle followed by an arrow represents the object's initial state.

Final State

An arrow pointing to a filled circle nested inside another circle represents the object's final state.

Page 34: Student Portico Complete Documentation

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.

Page 35: Student Portico Complete Documentation

Login AddtoCart

Manage Archieved

Closed

news/blog/profile/dailyact...

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

kind of statechart diagram, it uses some of the same modeling conventions.

Basic Activity Diagram Symbols and Notations

Action states

Action states represent the noninterruptible actions of objects. You can draw an action state in

SmartDraw using a rectangle with rounded corners.

Action Flow

Action flow arrows illustrate the relationships among action states.

Page 36: Student Portico Complete Documentation

Object 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

A filled circle followed by an arrow represents the initial action state.

Final State

An arrow pointing to a filled circle nested inside another circle represents the final action state.

Branching

Page 37: Student Portico Complete Documentation

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.

Page 38: Student Portico Complete Documentation

login

AddNews AddBlog ManageBlog

AddProfile ManageProfile

AddDailyActivities

ManageDailyActivities

Schedule IncomeAndExpenditure

FinancialPortFolio

success

fail

Page 39: Student Portico Complete Documentation

Collaboration Diagrams

A collaboration diagram describes interactions among objects in terms of sequenced messages.

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.

Basic Collaboration Diagram Symbols and Notations

Class roles

Class roles describe how objects behave. Use the UML object symbol to illustrate class roles, but

don't list object attributes.

Association roles

Association roles describe how an association will behave given a particular situation. You can

draw association roles using simple lines labeled with stereotypes.

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.

Page 40: Student Portico Complete Documentation
Page 41: Student Portico Complete Documentation
Page 42: Student Portico Complete Documentation

System Design

Page 43: Student Portico Complete Documentation

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.

An SDD usually accompanies an architecture diagram with pointers to detailed feature

specifications of smaller pieces of the design. Practically, a design document is required to

coordinate a large team under a single vision.

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.

The SDD contains the following documents:

1. Architecture Design2. User Interface Design3. Data Design

Page 44: Student Portico Complete Documentation

System/Architecture Design

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.

The three-tier model is a software architecture and a software design pattern.

Apart from the usual advantages of modular software with well-defined interfaces, the three-tier

architecture is intended to allow any of the three tiers to be upgraded or replaced independently as

requirements or technology change. For example, a change of operating system in the

presentation tier would only affect the user interface code.

Typically, the user interface runs on a desktop PC or workstation and uses a standard graphical

user interface, functional process logic may consist of one or more separate modules running on a

workstation or application server, and an RDBMS on a database server or mainframe contains the

computer data storage logic. The middle tier may be multi-tiered itself (in which case the overall

architecture is called an "n-tier architecture").

Page 45: Student Portico Complete Documentation

Three-tier architecture has the following three tiers:

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.

Application tier (business logic, logic tier, data access tier, or middle tier)

The logic tier is pulled out from the presentation tier and, as its own layer, it controls an

application’s functionality by performing detailed processing.

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.

Basic Deployment Diagram Symbols and Notations

Component

A node is a physical resource that executes code components.Learn how to resize grouped objects like nodes.

Page 46: Student Portico Complete Documentation

Association

Association refers to a physical connection between nodes, such as Ethernet.Learn how to connect two nodes.

Components and Nodes

Place components inside the node that deploys them.

Page 47: Student Portico Complete Documentation
Page 48: Student Portico Complete Documentation

User Interface Design

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.

Tips for User Interface

Consistency, consistency, consistency. I believe the most important thing you

can possibly do is ensure your user interface works consistently. If you can double-click on items

in one list and have something happen, then you should be able to double-click on items in any

other list and have the same sort of thing happen. Put your buttons in consistent places on all your

windows, use the same wording in labels and messages, and use a consistent color scheme

throughout. Consistency in your user interface enables your users to build an accurate mental

model of the way it works, and accurate mental models lead to lower training and support costs.

2. Set standards and stick to them:

Page 49: Student Portico Complete Documentation

The only way you can ensure consistency within your application is to set user interface design

standards, and then stick to them. You should follow Agile Modeling (AM)’s Apply Modeling

Standards practice in all aspects of software development, including user interface design.

3. Be prepared to hold the line.

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.

4. Explain the rules.

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.

5. Navigation between major user interface items is important.

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.

6. Navigation within a screen is important.

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.

7. Word your messages and labels effectively.

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

Page 50: Student Portico Complete Documentation

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.

8. Understand the UI widgets.

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.

9. Look at other applications with a grain of salt.

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.

10. Use color appropriately.

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.

11. Follow the contrast rule.

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.

Page 51: Student Portico Complete Documentation

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.

14. Justify data appropriately.

For columns of data, common practice is to right-justify integers, decimal align floating-point

numbers, and to left-justify strings.

15. Your design should be intuitable.

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.

16. Don’t create busy user interfaces.

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.

17. Group things effectively.

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.

Page 52: Student Portico Complete Documentation

Data Design

Page 53: Student Portico Complete Documentation

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 Relationship Model: An Entity relationship model is a diagrammatic representation of

entities, attributes and the relationship among those entities and attributes.

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.

The different symbols used to represent the E-R diagram are

Rectangles: This symbol represents the each entity type.

Double Rectangle: This represent a Weak Entity.

Diamonds: These represent the relationship among the entities.

Double Diamonds: These represent the identifying relationship between the entities.

Ellipses: These represent the attributes of an entity.

Page 54: Student Portico Complete Documentation

Underlined Ellipse: These represent the key attributes of an entity.

Double Ellipse: These represent Multi valued attributes.

Dotted Ellipse: This represent Derived attribute.

Lines: Lines represent the connection between the attributes to their entities, and also entities

to entities.

Page 55: Student Portico Complete Documentation

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.

Need for Normalization

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.

First Normal Form

A relation R is in first normal form if and only if all underlying domains contain atomic values only.

Second Normal Form

A relation R is in the second normal form if and only if its is in 1st NF and every non – key attributes

is fully dependent on the primary key.

Third Normal Form

A relation R is in Third Normal form if and only if it is in SNF and every non-key attributes is not

transitively dependent on the primary key.

Page 56: Student Portico Complete Documentation

Fourth Normal Form

A relation R is in fourth normal form if and only if whenever there exist a multi-valued dependency is

R, say A>>B, then attributes on other attribute is a determinant.

Boyce-codd Normal Form

A relation is in Boyce-codd normal form (BCNF) if and only if every determinant is a candidate key.

An attribute is fully dependent on other attribute is a determinant.

Fifth Normal Form

A relation is in fifth normal form also called project-join normal form(PJNF) if and only if the

candidate keys of R imply every join dependency in R.

Page 57: Student Portico Complete Documentation

DATA DICTIONARY

Login Table:

Attribute Data type Size

Username Varchar2 20

Password Varchar2 20

Blog Table:

Attribute Data type Size

Blogid Number 5

Btitle Varchar2 50

Subject Varchar2 50

Bdesc Varchar2 1500

Bdate Varchar2 50

News Table:

Attribute Data type Size

Newsid Number 5

News Varchar2 1500

Dailyactivities table :

Page 58: Student Portico Complete Documentation

Attribute Data type Size

Did Number 5

Aday Varchar2 50

Month Varchar2 50

Year Varchar2 50

Time Varchar2 50

Activity Varchar2 50

Income table :

Attribute Data Type Size

Iid Number(5) 5

Iitem Varchar2 50

Iamt Varchar2 50

Day Varchar2 50

Month Varchar2 50

Year Varchar2 50

Expenditure table:

Attribute Data Type Size

Eid Number 5

Eitem Varchar2 50

Eamt Varchar2 50

Page 59: Student Portico Complete Documentation

Day Varchar2 50

Month Varchar2 50

Year Varchar2 50

land table :

Attribute Data type Size

Lid Number 5

Type Varchar2 50

Acers Varchar2 50

Place Varchar2 50

Value Varchar2 50

stocks table :

Attribute Data type Size

Stid Number 5

Company Varchar2 50

Shares Varchar2 50

Value Varchar2 50

Amount Varchar2 50

Page 60: Student Portico Complete Documentation

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 :

Attribute Data type Size

Rid Number 5

Type Varchar2 50

Description Varchar2 50

Day Varchar2 50

Month Varchar2 50

Year Varchar2 50

Page 61: Student Portico Complete Documentation

comments table :

Attribute Data type Size

Blogid Number 5

Comments Varchar2 500

Postedby Varchar2 50

Bdate Varchar2 50

Page 62: Student Portico Complete Documentation

Software Technology

Page 63: Student Portico Complete Documentation

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.

Basic HTML Tags:

<! -- --> specifies comments

<A>……….</A> Creates hypertext links

<B>……….</B> Formats text as bold

<BIG>……….</BIG> Formats text in large font.

<BODY>…</BODY> Contains all tags and text in the HTML document

<CENTER>...</CENTER> Creates text

<DD>…</DD> Definition of a term

<DL>...</DL> Creates definition list

<FONT>…</FONT> Formats text with a particular font

<FORM>...</FORM> Encloses a fill-out form

<FRAME>...</FRAME> Defines a particular frame in a set of frames

<H#>…</H#> Creates headings of different levels( 1 – 6 )

<HEAD>...</HEAD> Contains tags that specify information about a document

<HR>...</HR> Creates a horizontal rule

<HTML>…</HTML> Contains all other HTML tags

<META>...</META> Provides meta-information about a document

Page 64: Student Portico Complete Documentation

<SCRIPT>…</SCRIPT> Contains client-side or server-side script

<TABLE>…</TABLE> Creates a table

<TD>…</TD> Indicates table data in a table

<TR>…</TR> Designates a table row

<TH>…</TH> Creates a heading in a table

Page 65: Student Portico Complete Documentation

JavaScript

JavaScript is a script-based programming language that was developed by Netscape Communication

Corporation. JavaScript was originally called Live Script and renamed as JavaScript to indicate its

relationship with Java. JavaScript supports the development of both client and server components of

Web-based applications. On the client side, it can be used to write programs that are executed by a

Web browser within the context of a Web page. On the server side, it can be used to write Web server

programs that can process information submitted by a Web browser and then update the browser’s

display accordingly

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>.

<SCRIPT LANGUAGE = “JavaScript”>

JavaScript statements

</SCRIPT>

Here are a few things we can do with JavaScript:

Validate the contents of a form and make calculations.

Add scrolling or changing messages to the Browser’s status line.

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.

Detect installed plug-ins and notify the user if a plug-in is required.

We can do much more with JavaScript, including creating entire application.

Page 66: Student Portico Complete Documentation

Java Technology

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.

Java is a programmer’s language.

Java is cohesive and consistent.

Except for those constraints imposed by the Internet environment, Java gives the

programmer, full control.

Finally, Java is to Internet programming where C was to system programming.

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 Byte code

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.

Compiling and interpreting Java Source Code

Page 67: Student Portico Complete Documentation

During run-time the Java interpreter tricks the byte code file into thinking that it is running on a

Java Virtual Machine. In reality this could be a Intel Pentium Windows 95 or SunSARC station

running Solaris or Apple Macintosh running system and all could receive code from any

computer through Internet and run the Applets.

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.

Page 68: Student Portico Complete Documentation

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.

What Does JDBC Do?

Simply put, JDBC makes it possible to do three things:

Establish a connection with a database

Send SQL statements

Process the results.

Page 69: Student Portico Complete Documentation

JAVAApplication

JDBC

DBMS

Client machine

DBMS-proprietary protocol

Database server

Java applet orHtml browser

ApplicationServer (Java)

JDBC

DBMS

Client machine (GUI)

HTTP, RMI, or CORBA calls

Server machine (business Logic)DBMS-proprietary protocol

Database server

Page 70: Student Portico Complete Documentation

Testing

Page 71: Student Portico Complete Documentation

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:

* Design Verification or Compliance test - to be performed during the development or approval

stages of the product, typically on a small sample of units.

* Manufacturing or Production test - to be performed during preparation or assembly of the product

in an ongoing manner for purposes of performance verification and quality control.

* Acceptance or Commissioning test - to be performed at the time of delivery or installation of the

product.

* Service and Repair test - to be performed as required over the service life of the product.

* Regression test - to be performed on an existing operational product, to verify that existing

functionality didn't get broken when other aspects of the environment are changed (e.g., upgrading the

platform on which an existing application runs).

Page 72: Student Portico Complete Documentation

Test Strategies

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

Page 73: Student Portico Complete Documentation

Functional testing typically involves five steps[citation needed]:

1. The identification of functions that the software is expected to perform

2. The creation of input data based on the function's specifications

3. The determination of output based on the function's specifications

4. The execution of the test case

5. The comparison of actual and expected outputs

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.

Page 74: Student Portico Complete Documentation

TEST

CASE

ID

INPUT

VALUE

TEST CASE

DESCRIPTION

EXPECTED

VALUE

OBSERVED

VALUE

1.

Click login

button

When enter

Username and

password

Should

successfully

Redirect to

Admin Home

Page

Successfully

Displayed the

home page

Without enter the

Username and

Password

Error message

should be

displayed

Error message is

displayed

2.

Click Add blog

option

When enter all

the details

Blog added

successfully

Blog added

successfully

Without enter all

the details

Exception

should be

displayed

Error message is

displayed

Page 75: Student Portico Complete Documentation

TEST

CASE

ID

INPUT

VALUE

TEST CASE

DESCRIPTION

EXPECTED

VALUE

OBSERVED

VALUE

1. Select Add

Activities

option

When post the

time and activities

details

Should

successfully Post

the details

Should

successfully Post

the details

Without post the

details

Exception should

be displayed

Alert message

was displayed to

provide details

2. When click on

Add

reminders

option

When enter the

reminder details

Should

successfully add

the reminder

details

Displayed

successfully

If You are not

provide any

information

Exception should

be displayed

Exception

message

displayed to

provide valid

information

Page 76: Student Portico Complete Documentation

Sample Code

Page 77: Student Portico Complete Documentation
Page 78: Student Portico Complete Documentation

INPUT & OUTPUT SCREENS

Page 79: Student Portico Complete Documentation
Page 80: Student Portico Complete Documentation

Software Development Life Cycle

Page 81: Student Portico Complete Documentation

The Systems Development Life Cycle (SDLC), or Software Development Life Cycle in

systems engineering, information systems and software engineering, is the process of

creating or altering systems, and the models and methodologies that people use to

develop these systems. The concept generally refers to computer or information systems.

In software engineering the SDLC concept underpins many kinds of software

development methodologies. These methodologies form the framework for planning and

controlling the creation of an information system[1]: the software development process.

Systems Development Life Cycle (SDLC) is a process used by a systems analyst to

develop an information system, including requirements, validation, training, and user

(stakeholder) ownership. Any SDLC should result in a high quality system that meets or

exceeds customer expectations, reaches completion within time and cost estimates, works

effectively and efficiently in the current and planned Information Technology

infrastructure, and is inexpensive to maintain and cost-effective to enhance.

Water fall model:

Page 82: Student Portico Complete Documentation

The waterfall model is a sequential design process, often used in software development

processes, in which progress is seen as flowing steadily downwards (like a waterfall)

through the phases of Conception, Initiation, Analysis, Design, Construction, Testing and

Maintenance.

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).

Page 83: Student Portico Complete Documentation

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.

Page 84: Student Portico Complete Documentation

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]

A common perception of maintenance is that it is merely fixing bugs. However, studies

and surveys over the years have indicated that the majority, over 80%, of the maintenance

effort is used for non-corrective actions (Pigosky 1997). This perception is perpetuated

by users submitting problem reports that in reality are functionality enhancements to the

system.

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.

Page 85: Student Portico Complete Documentation

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.

Page 86: Student Portico Complete Documentation

CONCLUSION

Page 87: Student Portico Complete Documentation

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

ideas to the world.

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.

Page 88: Student Portico Complete Documentation

Bibiliography

Page 89: Student Portico Complete Documentation

Book References:

[1] “Software Engineering”, Roger S. Pressman, 6th Edition, McGraw-Hill

Publications

[2] ”The Complete Reference Java J2SE”, Herbert Schildt, 5th Edition, McGraw-Hill

Publications

[3] ”Java 6 Programming Black Book Comprehensive Problem Solver”, Kogent

Solutions Inc., Published by Dreamtech press

[4] “The Unified Modeling Language User Guide”, Grady Botch, James Rambaugh,

Ivar Jacobson, Low Price Edition, Pearson education

Web References:

http://www.uml.org

http://java.sun.com/docs/books/tutorial/jsp/index.html

http://www.finalsemprojects.com

http://www.roseindia.net