Вы находитесь на странице: 1из 12

University of Buea

CSC 404
Software Engineering

Patriott Web Browser

Design Document
Version <1.0>

GROUP MEMBERS
Name Student ID
MADI WAMBA GILLES SC08A738
TCHAMDOU TCHATAT JULES AUDREY SC08A800
TONKEU NENDA FRANCE CYNTICHE SC08A810
NDANGANG YAMPA HAROLD SC08A757

Revision History
Date Version Description Author

Table of Contents

1. Introduction
1.1 Purpose
1.2 References
1.5 Overview
2. Architectural Design
2.1 Patriott Web Brower Operations Diagram
2.2 Patriott Web Browser flow Chart

3. Software Interface Design


3.1 System Interface Diagrams
3.1.1 User Interface
3.1.2 Software Interface
3.1.3 Hardware Interface
3.2 Module Interface Diagrams
3.3 Dynamic Models of System Interface

4. Internal Module Design


4.1 Module <module>
4.1.1 Module Class Diagram
4.1.2 Class <class>

5. Team Members Log Sheets


5.1 Madi Wamba Gilles
5.2 Tchamdou Tchatat Jules Audrey
5.3 Tonkeu Nenda France Cyntiche
5.4 Ndangang Yampa Harold

Design Document
1. Introduction

The model presented in this document is intended to serve as a guideline to the reimplementation of Patriott Web
Browser.

1. Purpose
This document provides an overview of the design of the Patriott Browser. It is a living document
that is expected to evolve throughout the design process. During conceptual design it provides a 'broadbrush'
perspective of the design with detail to be added during subsequent design phases. The focus
during conceptual design is on describing enough of the design to allow an examination of the design's
suitability in meeting the system requirements. In this fashion, the document presents many conceptual
design concepts as design requirements.

2. References

1.5 Overview

Patriott Web Browser is a Qt based light web browser written in C++.


In this document we will see main aspects of how Patriott Web Browser manages to render web pages contents.

2. Architectural Design

2.1 Patriott Web Browser Operations Diagram


The general diagram of operations behind a web browsing session is shown in the next figure.

2.2 Patriott Web Browser Flow Chart


3. Software Interface Design

3.1 System Interface Diagrams

In this section we describe the general software interface of Patriott.

3.1.1 User Interface


Patriott will have an intuitive user interface made up of the following components.

A TOOLBAR
Address field
This area is where the URL (web page address) for the web page is displayed or
entered.
Back Button
Use this button to go back to the previous page opened in this particular browser
window.
Close Box
This button in the upper right corner of the window will close the browser window.
Forward Button
Like the Back button, the Forward button takes you to pages that you have previously
seen in a particular browser window.
Home Button
This button takes you to the page that has been designated as your "home" page.
Maximize Button
In Windows you can use this button to make the browser's window enlarge to full
screen.
Menu bar
In Windows the Menu bar is a part of each browser window. Choices include File, Edit,
View, History, Favorites or Bookmarks and Help. On the Macintosh, these Menus are
always at the top of the screen.
Minimize Button
In Windows you can use this button to make the browser's window disappear from
the screen.
Save as PDF Button
You can save any web page as a PDF file by clicking this button.
Reload or Refresh Button
If you suspect the contents of a browser's window may have changed
since the last time you viewed it, you should click the Reload or
Refresh button to update the page.
Status Bar
The bar along the bottom of the browser's window shows the percentage of the
loading and the URL of the link your mouse is over
Use this button if you want
Window Title
The title of the web page appears in the browser window's title.
Sometimes pages don't have titles.

3.1.2 Software Interface

In other to render the web content correctly, some pages require additional plugins and codecs, such as html5 based
web pages, or pages that contain multimedia flash video or audio components.

Here is the interface diagram showing how other software systems interact with Patriott.

User

Request that needs additional plugins or codec installed on the system

The plugins or codecs are available on system

Use the available codec or plugin to decode and display the web content
Check for plugins and codec availability on the system

Display an error page

The plugins or codecs are not available on system

3.1.3 Hardware Interface

3.2 Module Interface Diagrams

3.3 Dynamic Models of System Interface

4. Internal Module Design

4.1 Module <module>


Patriott is an Object Oriented software. Subsequently, the development will follow an Object Oriented model. Here
we describe the most important modules, objects and classes of Patriott.

4.1.1 Module Class Diagram

● Webkit Module.

As the Web Motor, Webkit is one of the most important modules of Patriott!
When the user issues a request for a web content, Patriott handles the request, ensures that it is a valid
request, and that there is some network accessibility and then transmits the request to the Webkit Module.

Webkit’s role is fundamental, since all the contents on the internet are coded, it is responsible to decode
the content. When Webkit receives the request, it fetches and decodes the corresponding content from the
internet and transmits it back to Patriott, and the content is displayed to the user.

Patriott
Request

User

Patriott

Webkit

Module Class Diagram: WEBKIT

4.1.2 Class <class>

Here we describe the two most important Classes of Patriott, the Page widget and the Tabulation widget.

● Class Page.

The class page manages the content that is displayed after a request is send by the user, following are its
attributes and mathods.

Attributes:
● Name
This attribute holds the name of and istance of page.

● Webview
This is an attribute inherited from the Webkit module, it is the decoded content that is displayed to the user.

● Back
It is a button, it will emit a signal to the slot responsible for the display of the previous item in the webview
history.

● Forward
It is a button, it will emit a signal to the slot responsible for the display of the next item in the webview
history.

● Reload
It is a button, it will emit a signal to the slot responsible for the reload of the current item displayed by the
webview .

● Stop
It is a button, it will emit a signal to the slot responsible for the stopping the loading of a webview item.

● Home
It is a button, it will emit a signal to the slot responsible for the display of the home item.

Note: In our language, a webview item represents a webpage.

Methods/Slots

● load(url)
This is the method that loads and display the webview item with address url

● home(void)
This is the slot that loads and display the home item.

● back(void)
This is the slot that loads and display of the previous item in the webview history.

● forward(void)
This is the slot that loads and display of the next item in the webview history.

● reload(void)
This is the slot that reloads and redisplay of the current item displayed by the webview .

● stop(void)
This is the slot that stops the loading of a webview item.

● Class Tabulations.

Patriott is a tabbed-browsing web browser, there comes the necessity os a structure to handle the
differents tabulations.

Attributes:
● Name
This attribute holds the name of the instance of the tabulation object used in Patriott.

● Page
This attributes hold an instace of the page object in each tab.

● addTab
It is a button, it will emit a signal to the slot responsible for adding a new tab to the tabulations widget.

● closeTab
It is a button, it will emit a signal to the slot responsible for removing a tab from the tabulations widget.

Methods/Slots

● addTab(void)
This slot adds a new empty tab to the tabulations object and create a page for that tab.

● addTab(url)
This slot adds a new tab to the tabulations object and load the item with address url to the page attribute of
that tab.

● closeTab(index)
This slot removes the tab at position index from the tabulations object.

● closeTab(void)
This slot removes the currently viewed tab from the tabulations object

Tabulations object

Attributes

Buttons
*addTab *closeTab *Page

Page
Attributes

*webview,

*back, *forward, *backward, *stop, *home

Methods/Slots

*load(url), *forward(void), *backward(void), *stop(void), *home(void)

Methods/Slots
*addTab(void) , *addTab(url) , *closeTab(index), *closeTab(void)

The Tabulations Object

5. Team Members Log Sheets


5.1 Madi Wamba Gilles

Date Task Duration

5.2 Tchamdou Tchatat Jules Audrey

Date Task Duration

5.3 Tonkeu Nenda France Cyntiche

Date Task Duration

5.4 Ndangang Yampa Harold


Date Task Duration

Вам также может понравиться