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

Table of Contents

1. INTRODUCTION ...................................................................................................................... 1

1.1 Purpose .................................................................................................................................. 1

1.2 Scope ..................................................................................................................................... 2

1.3 Overview ............................................................................................................................... 2

2. SYSTEM OVERVIEW .............................................................................................................. 3

3. SYSTEM ARCHITECTURE ..................................................................................................... 4

3.1 Architectural design .............................................................................................................. 4

3.2 Decomposition Description ................................................................................................. 11

3.3 Design Rationale ................................................................................................................. 15

4 DATA DESIGN .................................................................................................................... 16

4.1 Data Description .................................................................................................................. 16

4.2 Data Dictionary ................................................................................................................... 16

5. COMPONENT DESIGN ....................................................................................................... 17

5.1. Class Diagram ................................................................................................................ 17

5.2 Sequence Diagram.......................................................................................................... 18

5.3 Activity Diagram ............................................................................................................ 23

6. HUMAN INTERFACE DESIGN ......................................................................................... 31

6.1 Overview of User Interface ................................................................................................. 31

6.2 screen images ...................................................................................................................... 32

7. REQUIREMENTS MATRIX................................................................................................ 40

8. APPENDIX ........................................................................................................................... 41

i
1. INTRODUCTION

1.1 Purpose
This software design document describes the architecture and system design of Ethiopedia free
encyclopedia system.

This document is the software architecture design document as agreed by users, developers, and
owners. The document has information for users, designers, system owners, maintenance team,
system testers and documentation team. The document provides different information that will
be vital for different groups of readers. The readers summarized as follows:-

Reader type Main concerned part purpose

System users Functional and non-functional To review if the interface, functional and
requirements, GUI requirements non-functional requirements are the one
they desire, And recommended change if
necessary.

Designers Use case, functional and non- Revise the use case as necessary, check the
functional requirements achievability of requirements and the tool
assumptions and dependencies proposed to be used
and design constraints.

System Project cost, functional and non- Specify development tools to be used.
owners functional requirements. Check if all their requirements are included.

Maintenance Functional and non-functional If system fails during maintenance the team
team requirements use case. maintaining the system needs to revise the
initial functionality the system was intended
to do.

Testing team Functional and non-functional During black box testing the tester checks if
requirements the system does what it was intended to do
using functional requirements.

Ethiopedia free encyclopedia software architecture and design document 1


1.2 Scope
Ethiopedia free encyclopedia is a web based system that is the free encyclopedia of Ethiopian
people, history, culture, religion and biography of its people that is accessed through website. Its
goal is to be the source of information and pioneer free encyclopedia in Ethiopia. Its general
objective is to let customers access, add and retrieve information found in Ethiopia. As the name
indicates it aims on information found only in Ethiopia.

It is targeted to cover the problem of information availability about the rich historical culture,
civilization, social life, history, ceremonies, famous public figures, and archeological data about
Ethiopia. Such information is scarcely and or unstructured manner dispersed here and there
currently. Ethiopedia is a promising solution for these problems for researchers, tourists,
archeologists, citizens and the world in large

The main goal of Ethiopedia free encyclopedia is to serve as main source of information, keep
every data found everywhere with manual system from extinction and become pioneer free
encyclopedia in Ethiopia.

The main objective of Ethiopedia free encyclopedia is to let customers access, add and retrieve
information found in Ethiopia.

1.3 Overview
The remaining next portion of this document is organized as follows;

Section 1, is an introduction to the software architecture Ethiopedia free encyclopedia. Section 2,


deals about the software architecture where the architecture of the software under discussion will
be presented using the 4+1 view model. Section 3, Ethiopedia will be presented by Repository
architectural pattern of system architecture. Section 4, addresses data design of the software.
Section 5, describes the design of components. Section 6, addresses the design of the user
interface of some main parts of the system. Section 7, describes requirement matrix. Section 8, is
appendix which contains important information of the document.

Ethiopedia free encyclopedia software architecture and design document 2


2. SYSTEM OVERVIEW
Ethiopedia free encyclopedia is a new system going to develop to solve the problem of scarcity
of information in Ethiopia related to history, culture, biography, wealth. The system explained in
this document is the first version. The system will serve as the primary source of information by
dominating magazines, newspapers, and other Medias. The design and implementation of
Ethiopedia will make Wikipedia as its benchmark. Ethiopedia is different from Wikipedia in its
content, concerned only information regarding Ethiopia. The system interacts with every
customers, administrators and government organizations. The customers may be members or
other users in different category use it for different purpose. The members use the system to
access data and to upload the data and other user can use the system to access the data, without
any limitation of who they are and where they from. The system is released as a web based
system, accessed everywhere connection (internet connection) found using any browsers with pc
or mobile.

Ethiopedia free encyclopedia software architecture and design document 3


3. SYSTEM ARCHITECTURE
The system architecture for Ethiopedia free encyclopedia website is concerned with how people
can view information, upload information, edit information, and delete information through the
website by using a network.

3.1 Architectural design


The Ethiopedia free encyclopedia system is broken down into two major subsystems, the web
client and the server. The two subsystems will interact with each other by using a repository
model. The web client consist any user and members user, the server consist application server
and data server.

cmp System Architecture

<< Subsystem>> << Subsystem>>


<< Subsystem >> w eb Serv er Data Serv er
Web Client

<< Subsystem>>
<< Subsystem >> Application Serv er
Web Client

Fig 3.1 Architectural design


This deployment view depicts the interaction between subsystems. Each web client subsystem
can access the server using the browser through the network using http and xml file request, and
then the webserver sent the request to the application server and data server which contain the
database of users, members, administrators and system administrator.
The network contains from the client browser in the form of HTTP and xml request and carries it
to the web browser.

Ethiopedia free encyclopedia software architecture and design document 4


The application server contains all the applications to store, edit and updated to the system and
the data server contains all information of members of the system includes members,
administrators and system administrators, and all uploaded, edited and updated data needed to be
accessed by the client

The web client request for the information, update information, edit information, register to the
system, delete data and save all the changes to the database server through the network.

This document details the architecture using the views defined in the “4+1” model

Ethiopedia free encyclopedia software architecture and design document 5


Logical view

cmp Logical v iew of Ethiopedia Free encyclopedia

Ethiopeida free
encyclopedia

Data Management
Acount
management

Register user Delete Acount Search Data


Upgrade Acount Upload Data Edit Data Delete data
type

Delete Data Add Data View Data

Fig 3.2 logical view

User account management includes all account types, members, Administrators, system
administrators and new user going to be members. New members registered, users and
administrators account deleted and upgraded and system administrators going to be deleted when
necessary conditions meet

Data management manages all data that is in the system and accessed by users. Upload new data,
edit existing data (delete data, delete some contents), search data and view searched data and
view the data.

Ethiopedia free encyclopedia software architecture and design document 6


Process view
uc process v iew of Ethiopedia free encyclopedia

Ethiopedia free
encyclopedia

any user
search
members
for data

users login form


search data
search again

already have acount


v iew the data
for new members

signup login

invalid password

try again for


wrong entries valid data

successfully signup

manage data
manage users

finish searaching and view


to admin and
system admin

genereate report
upgrade users upload data
delete user
edit data delete data

additional and updated

wrong data
finishign user
management
delete data add data

Finish data management

Fig 3.3 process view

Ethiopedia free encyclopedia software architecture and design document 7


Deployment view

deployment deployment v iew of Ethiopedia free encyclopedia

Web Desktop,Smart dev ices

Upload Data
Searach Data

Register Edit Data

Ethiopedia Free encyclopedia serv er,


network

Delete Acount
Generate Report

Delete data Upgrade Acount

network
network

Database serv er

Google Search engine

Search data

Fig 3.4 deployment view

Web desktop, smart devices: - any users can access the system using smart phones, desktops
and other devices support internet connection to search data, register for membership.

Web device:- members of the system uses devices on web using network to add data, edit data,
search data , manage user(admins) and approve data being posted(admins)

Google search engine: - used by any user for the search of the system and facilitates ease of
searching service for novice users to access our system using a link from google.

Ethiopedia free encyclopedia software architecture and design document 8


Ethiopedia free encyclopedia server: - responds to all the requests, actions and calls of the
users everywhere depend on their request and it is operated by only system
administrators/operators which have the full privilege of the system.

Database server: - it contains all users’ information and all other information system should
contain and accessed by the system server.

Network: - the medium though which communication takes place with from different
perspectives

Scenario view

1. User registration scenario

Initial state, the website is accessed.

The user click signup button. The lists to be filled displayed. The user fills the username,
password, confirm password and email fields. The system check the entered attributes and
validate them, if wrong it display re-enter message to the user and user can’t go further steps.
Then after fill the fields he/she click signup button. Immediately the user details added to the
database and successfully signup message displayed to the user and he/she logged in to the
system, becomes members of the system.

2. Login scenario

Initial state member of the system

The member user clicked login button. He entered username and password. The system checks
validity from the database. If invalid username and password, the system displays to check the
password and email or user name field again. If correct the system lets the user to log in, display
home page.

Final state the user logged into the system.

Ethiopedia free encyclopedia software architecture and design document 9


3. Data search scenario

Initial state, the user accesses the system site.

The user types the title or words about the information he need to access. Then click search
button. The system checks the data from the database and if the data exists it displays to the user.
The user clicks on the title to see all contents of the displayed data. If the data doesn’t exist the
system displays error message, the user repeats the above steps.

Final state, the user accesses what he need to access.

4. Data upload scenario

Initial state, the user is member, logged into the system.

The user types the title or words about the information he need to access. Then click search
button. The system checks the data from the database and if the data exists it displays to the user.
The user clicks on the title/ see more to see all contents of the displayed data. The user checks
the data content. If different from what he has, click create page button and type what he has in
hand and click upload button. If the data displayed contains some information and need to
change some contents, the user click edit button and omit some texts and add others to the
existing data and click finish editing button. This goes to the administrator page as notification
for approval. If the data contains rule contradicting texts, words or images, ignored by
administrators, else verified and added to the database. If need to delete the whole content the
user click delete button, then the data stored in database and wait for the administrator
confirmation of deletion of the data. If it confirmed by the administrator the data deleted form
the database else not.

Final state, data uploaded, edited or deleted.

5. Manage user scenario

Initial state, must have admin or system admin privilege.

The user logged into the system as administrator or system administrator. He/she see the user
database and generated report of the members. If someone needed to be deleted from the member
due to his or her action on the system, check the conditions and click delete user button after

Ethiopedia free encyclopedia software architecture and design document 10


selecting the user. Then confirm to delete the user. And if users report is good and need to
upgrade to administrator the admin or system admin click upgrade user button and account
upgraded to the next higher priority level.

Final state, user account deleted or upgraded.

3.2 Decomposition Description


Identification Account management, application server side

Type Module

Purpose Performs user management issues.

Function It allows the registration of new users, using inputs of email/username and password
inputs and authenticates for validity.

It upgrades members from lower to higher priority level and deletes problematic
users that will affect the system

The user’s data stored in the data server and deleted users removed from the system
database and can’t access restricted feature of the system.

Subordinates It contains text field for user detail, email, password and login and signup buttons. It
also contains buttons for view user data, upgrade user, delete user.

Dependencies It connects with the server database to fulfill its tasks, to access user detail, to
register new users to the database.

It performs command to delete user data from the database, to add new user detail to
the database and to fill upgraded information of a user.

Interfaces The login interface contains user name and password field and login button. The
user allowed entering the data at provided space and click login button, for wrong
entry tool tip text message is displayed at the bottom of the text field.

Sign up page contains first name, last name, email or phone, password and confirm
password text fields with the name of each text field label. And at the bottom there
exists sign up button and for wrong entries there exist tool tip error message to re

Ethiopedia free encyclopedia software architecture and design document 11


try.

For deleting, upgrading purpose the interface contains view user detail button and it
let the user to connect to the user database and see all information what the user
does, user detail.

Resources Web browser, internet connection, devices support internet service (desktop, smart
phones, touch pad… etc.)

Processing User entered first name, last name, email, password and confirm password. Then he
click signup button. The system checks validity of the user data entered, if wrong
entry exists, re-try message displayed. Else the user data loaded to the database in
the database server and the user logged into the system.

For the next time he entered username and password and the system checks the
entered data from the database, if doesn’t exist or wrong entry exist the system
display to re-enter or try again message, else the user logged in and going on further
actions.

Further actions, user delete or upgrade, the use click view use data menu. Then the
system checks the user privilege and satisfied the system connects to the user
database and displays all user information with appropriate details. The user selects
from the users database and click delete or upgrade button. The systems again
checks the user’s privilege and allow the action to continue. Then the database freed
for delete use action and user loaded to upgraded database.

Data For the data internal to the component, describes the representation method, initial
values, use, semantics, and format. This information will probably be recorded in
the data dictionary.

Ethiopedia free encyclopedia software architecture and design document 12


Identification Data management, application server side

Type Module

Purpose Manages user and server data

Function Authorized members manage the server and user data in the system and database.
These users upload, edit (modify), delete, and add data to the system data, manage
users database.

Subordinates It contains the edit menu, use list table, data search engine and add, edit, delete
buttons.

Dependencies It accesses the database server for every action that performed in data management
subsystem. To perform its task it should get users database and the information
database

Interfaces The interface contains submenus, edit, upload, delete, view user data, generate data,
and a searching space to search the data to be authenticated.

The user generate report and select from the report and select appropriate action to
be done

Resources Web browser, internet connection, devices support internet service (desktop, smart
phones, touch pad… etc.)

Processing The user click view user database. Then he clicks the category to be classified, then
he select from the categories classified and perform task. This task is for user’s data
management.

For the information management the user search the title he wants to perform
actions. Then he view the data and if needed doesn’t exist he upload new data. If
exist he view and edit data (add necessary data and ignore unnecessary data) then he
clicked finish edit button.

Data

Ethiopedia free encyclopedia software architecture and design document 13


Identification Search Engine, Client side

Type Module

Purpose Search data from the system

Function Any users members, administrators and system administrators use it to search and
view data from the system. It facilitates searching information from the system
either with name, related data (author, owner, place, location).

Subordinates It contains search text field to enter text and search button to submit
searching(instantiate action)

Dependencies It accesses the database server for every action that performed in data management
subsystem. To perform its task it should get the information database

Interfaces It contains search text field to enter text and search button to submit
searching(instantiate action),

Resources Web browser, internet connection, devices support internet service (desktop, smart
phones, touch pad… etc.)

Processing The user enters text to the text field, and click search button. The action passes to
the application server and the system search the requests from the database. If the
data doesn’t exist the system display reenters or data doesn’t exist message. Else the
system displays the selected data from the database and the user view the data.

Data

Ethiopedia free encyclopedia software architecture and design document 14


3.3 Design Rationale
We have chosen Repository/blackboard architecture for our system. The reason behind these is
that the system accepts information from everywhere through its members and accessed
everywhere by its users and also we use this pattern which has large volume of information are
generated that has to be stored for a long time. No matter how many users and members it has
the users and members communicate each other through the system, but they don’t know each
other. The system serves as the central repository and authenticates every request for all users
everywhere.

We were trying to use client-server architecture, but we find that this repository architecture have
client-server architecture in it. We have decided that increasing number of clients for the central
server makes repository architecture (we used).

Ethiopedia free encyclopedia software architecture and design document 15


4 DATA DESIGN
This sections deals about data design describing about data description which discuss about how
the information domain of our system is transformed into data structures and data dictionary
which discuss about list of system entities (inputs) or major data along with their datatypes and
descriptions.

4.1 Data Description


Ethiopedia free encyclopedia is a web based system which have high interaction with database
storage and user interaction with the system. It has many data entries and user input types that
the system request and the users fill to access the system. This system also uses security
authentication to control unauthorized data access from intruders, protect unwanted, wrong posts
and to avoid system vulnerability.

4.2 Data Dictionary


Fields Data Type Description

User name String Identifies the name of user

Email/phone Nvarchar Identifies the of the user

password Nvarchar Users ownership/entrance key to


log into the system

Address Nvarchar Users address

Uploaded data Nvarchar The data to be uploaded to the


system.

Uploaded image Jpg, PNG, gif Images loaded to the system,

sex String Sex of the member of the system

Age Integer Age of the member of the system

Ethiopedia free encyclopedia software architecture and design document 16


5. COMPONENT DESIGN

5.1. Class Diagram

class Class Diagram

Members
User
+ EditData() : void
+ SearchData() : void + Search() : void
+ SearchData() : void
+ ViewData() : void

ControlActiv ity

+ Delete data() : void


UserAcount
+ Edit data() : void
+ Address: nvarchar + Search data() : void
+ Age: int + Upload data() : void
+ Email/Phone: nvarchar
+ FirstName: String
+ LastName: String
- Password: nvarchar
+ Sex: String
+ UserName: String

+ Login() : void
+ Logout() : void
+ Signup() : void

Admin

+ DeleteAcount() : void
+ GenerateReport() : void
+ UpgradeAcount() : void

Diagram 1: Class diagram of Ethiopedia free encyclopedia

Ethiopedia free encyclopedia software architecture and design document 17


5.2Sequence Diagram

Diagram 2: sequence diagram of login

Ethiopedia free encyclopedia software architecture and design document 18


Diagram 3: sequence diagram of Signup

Ethiopedia free encyclopedia software architecture and design document 19


Diagram 4: sequence diagram of Upload Data

Ethiopedia free encyclopedia software architecture and design document 20


Diagram 5: sequence diagram of Edit data

Ethiopedia free encyclopedia software architecture and design document 21


Diagram 6: sequence diagram of Delete data

Ethiopedia free encyclopedia software architecture and design document 22


act LoginActivity

Start
5.3A
c
t
Ethiopedia home page
i
v
Enter UserName and Password i
t
login Page
y

Re_enter D
i
Member Page a
Validate Yes
g
r
a
m

Final

Diagram 7: activity diagram of login

Ethiopedia free encyclopedia software architecture and design document 23


act SinupActiv ity

Start

Ethiopedia Home Page

Fill the information

Sinup Page

Re_Enter Check

Validate Yes Members Page

End

Diagram 8: Activity diagram of create account

Ethiopedia free encyclopedia software architecture and design document 24


act UploadActiv ity

Start

Ethiopedie homePage

Select/ Add
data

Upload

Edit

System

check

Valid Database
Admin Data

Invalid
data

End

Diagram 9: Activity diagram of upload data

Ethiopedia free encyclopedia software architecture and design document 25


act EditActiv ity

Start

Ethiopedie homePage

Sel ect/ Add


data

Edit

Edi t

System

check

Database
Admi n Edi ted

Nothi ng

End

Diagram 10: Activity diagram of edit data

Ethiopedia free encyclopedia software architecture and design document 26


act DeleteActiv ity

Start

Ethiopedie homePage

Select
data

Delete

Delete
data

System

check

Deleted Database
Admin

Nothing

End

Diagram 11: Activity diagram of delete data

Ethiopedia free encyclopedia software architecture and design document 27


Pseudo code

Browse

For (user = member) {

Input username;

Input password;

If (username=correct and password=correct)

System. Display;

Action. Selected;

If (selected action=manage user) {

Delete illegal user;

Up rove legal user;

If (selected action =manage data) {

Legal data =stored to database

Illegal data =discard from database

New legal post=approve

New illegal post=disprove

Else {

System display” enters correct user name and password”

Ethiopedia free encyclopedia software architecture and design document 28


}

For (user=not members) {

Click signup

Input first name

Input last name

Input email/phone

Input password

Confirm password

Input address

Click signup

If (data= correct)

Members page=displayed

Else () {

System display=”reenter the correct data in the space provided”

Ethiopedia free encyclopedia software architecture and design document 29


For any users () {

Browse;

Enter data;

Search;

If (data found) {

View the data}

Else () {

System display” reenters the text for search, data not found”

Ethiopedia free encyclopedia software architecture and design document 30


6. HUMAN INTERFACE DESIGN

6.1 Overview of User Interface


After browsing the Ethiopedia free encyclopedia site the user get the main page, with its contents
include: - main reading page, menus, search engine, login and signup button. The members
logged into the system by clicking the login button but the users(not member) search and view
pages or data they need to see or they can sign up by clicking the signup button.

The signup button leads to the requirements to be filled, the signup page. The user fill all the
spaces required and click the signup button. Then the members page (home page similar to the
users can access but with additional features) displayed to the member.

The additional features added to the members include upload data, delete data, edit data, view
member’s data, and upgrade, delete user and generate user data. This features depend on the
membership type (member, admin and system admin).

After completing their task the final stage is to logout from the system and leaves the page, the
user click logout button. The page of users displayed after login out.

Ethiopedia free encyclopedia software architecture and design document 31


6.2 screen images
Home page for any users

This page includes main page for any users, displayed when everyone browse the site link. It
yields the services viewed on the interface including search for data.

Ethiopedia free encyclopedia software architecture and design document 32


Signup page

Users create account using this interface. They fill the provided space shown on the interface and
create the account by click signup button.

Ethiopedia free encyclopedia software architecture and design document 33


Login page

Members of the system logged into the system through this page, displayed click login button.

Ethiopedia free encyclopedia software architecture and design document 34


Main page after login

This is the page displayed after logged in, the members page, it differ from the main page we put
before it has activities to be done by the members.

Ethiopedia free encyclopedia software architecture and design document 35


Contact us page

This page is for contact us on the email, for comment, information.

Ethiopedia free encyclopedia software architecture and design document 36


About Developers page

This page gives information of about the developers of the system, it contains general and detail
information of the website and its developers

Ethiopedia free encyclopedia software architecture and design document 37


News page

This page displays news of the day for any users. Its advantage is to see news of the day without
any further searching, just visiting the news

Ethiopedia free encyclopedia software architecture and design document 38


6.3 Screen Objects and Actions

Signup button: - leads the user to signup page, for signing up for membership, the user fill all
the required inputs, validated and then he/she become member of the system.

Login button: - leads the user to the login page and the user entered the username and password
in the provided space and click login button and logged into the system.

Search field: - allow the user to enter text to find what he want to view and the he click the
search button to activate search engine and the system search it from the database and display it
to the main page

Menus: - it contains all the necessary actions to be taken for every user like choosing
information type, edit data, upload data, and view developers biography, contacts and other
information displayed on the menus of the system.

Ethiopedia free encyclopedia software architecture and design document 39


7. REQUIREMENTS MATRIX
This part descries the details of which component of the system fulfill the functional
requirements the system should attain. It explains the functional requirement with respect to
the component.

Functional requirements System component

Upload data to the database Data management

update and delete data Data management

Delete user account and update their status User management

Validate user data and data be uploaded, User management, data management
edited or deleted respectively

Search and view data Search engine

Ethiopedia free encyclopedia software architecture and design document 40


8. APPENDIX
User: - any user of the system, but not the member of the system.

Members: - The system users, whose privilege is limited with specific tasks only.

Administrators: - System members who have more privilege than members.

System administrators: - Control overall system activities, members, user, administrators and
every activities and failures of the system.

Web client: - any user of the system on the web.

Web device:-device that used to access a system on the web that support internet connection

Ethiopedia free encyclopedia software architecture and design document 41

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