SAD Project
SAD Project
SAD Project
Name ID No
1. Bisrat Jenbere NSR/0385/12
2. Ebisa Girma NSR/0474/12
3. Elsabet Awraris NSR/0515/12
4. Isayas Malkamu NSR/0791/12
Mr. Seifu D.
Course Instructor
SYSTEM OVERVIEW
The Student Union Voting System is the software system allows voters (students) to vote online
without having to go to an election site, while maintaining their privacy and security. It is critical
to select the president and other executive managers who will lead the various sectors of the
student union at the University.
SYSTEM ARCHITECTURE
The purpose of designing is to show the direction of how the system will build and to obtain
clear information needed to drive the actual implementations of the system. The architectural
pattern of our system is 3-tier architecture model. Those are presentation tier, application tier and
data tier. After the selection of architectural pattern, we perform the system decomposition into
different sub system. Those subsystems are Administrator, Voter, Chairperson and Candidate.
with each subsystem there are different components. After all we explain the rational for
selecting 3-tier architecture model for our system.
Architectural Design
The system is consisting of 3-tier architecture model. The presentation layer is client layer and
top most layer of the application. This is the layer we see when we use this system. it is the
interface to the system. it is the interface to the system which takes information from the user.
The main advantage of functionality of this is to communicate with the application layer. This
layer passes the information which given in terms of keyboard action and mouse click to the
application layer. Example when user want to login into the system first sees two text box and
login button to enter user name and password and click on login. Business logic layer: it is
application layer which interacts with data layer and sends information retrieved from database
toward to presentation layer. it acts as the mediator between presentation layer and data layer.
From above example once, the user clicks on login button application layer interacts with the
database and send information towards to presentation layer. The third one is data layer which
used to store data entered by the user. In general client of the system use browser to access the
system using the internet.in this case when the user enters input and takes certain action
application server process client request to interacting with the database server.
• Login
• Manage User
• Approve chairperson
• Post announcement
• Register
• Login
• Cast vote
• View result
Chairperson
• Register
• Login
• Approve candidate
• Evaluate
• Post result
• Post announcement
Candidate
• Register
• View result
Again, the chief benefit of three-tier architecture its logical and physical separation of
functionality. Each tier can run on a separate operating system and server platform - e.g., web
server, application server, database server - that best fits its functional requirements. And each
tier runs on at least one dedicated server hardware or virtual server, so the services of each tier
can be customized and optimized without impact the other tiers.
Faster development: Because each tier can be developed simultaneously by different teams, an
organization can bring the application to market faster, and programmers can use the latest and
best languages and tools for each tier.
Improved scalability: Any tier can be scaled independently of the others as needed.
Improved reliability: An outage in one tier is less likely to impact the availability or
performance of the other tiers.
Improved security: Because the presentation tier and data tier can't communicate directly, a
well-designed application tier can function as a sort of internal firewall, preventing SQL
injections and other malicious exploits.
DATA DESIGN
Data designing illustrates the types of data that are stored in the system, the relationships
between them and the ways that data can be grouped or organized.
Data Description
The data description activity translates these elements of the requirements model into data
structures at the software component level and, when necessary, a database architecture at the
application level. It describes for the system persistent data will be stored by the system and the
data management infrastructure required for it. This section typically includes the description for
data schemes, the selection of database, and description of the encapsulation of the database.
Figure 3: Data Design
Component Design
This section describes all components by the decomposition of subsystems into component and
the file organization of the code. This includes an overview of package and components in the
package, its dependencies with other, and its expected usage. Here, use UML diagram of
components in the package.
Figure 4: component diagram