1. Data Entry System
Software Architecture Document
Version1.0
Data Entry System Version1.0
Software Architecture Document 29 Jan, 2015
Revision History
Date Version Description Author
29 Jan, 2015 1.0 Start the document MohamedElgamal
2. Introduction
Data Entry System (DES) is a systembuilt for Searching for contacts ofauthors that are associated with no
emails on our database to approach these authors for future dealings.
Institutional Identifiers : Building affiliation hierarchy for all worldwide affiliations then fixing Scopus
missing addresses.
Authors Email Gathering : Getting emails for authors without emails in SCOPUS database.
Problematic emails : Approving correct names to Emails that associated with different authors’name in
Scopus database.
Incompatible Groups: Approving and consolidating first name to Scopus Authors associated with the
same last Name and Different first Name in Scopus database.
Authors Data Gathering: Getting authors data included in all USA Affiliations.
Des Scopus Pairs: Getting emails for authors without emails in SCOPUS database using DES database.
Glossary
Architectural Goals and Constraints
Use Case View
Overview
The Use-Case view of the DES architecture presents use-cases that represent a significant, central
functionality which must be performed by the DES system.
4. Use Case Description
Institutional Identifiers
DES team building affiliation hierarchy for all worldwide affiliations then fixing Scopus missing addresses.
- Assignaffiliation
Flowof Events: DES Team Leader assigns an affiliation for DES Team-member to start working on.
- Affiliationsubunits
Flowof Events: DES Team-member gets affiliations’ subunits (Departments – Divisions – Labs -…..)
through Google search and affiliation’s website then inserts it to DES.
- ReviewAffiliationssubunits
Flowof Events: DES Team-leader reviews inserted subunits within the affiliation hierarchy.
- Scopusorganizations
Flowof Events: SQL Agent extracts all Scopus organizations tags that belong to the pre-specified
affiliation.
- MapScopusorganizations
Flowof Events: DES Team-member maps Scopus organizations with the inserted affiliations’ subunits.
- Reviewmap Scopusorganizations
Flowof Events: DES Team-leader reviews mapped units,and approve it.
- Reviewmap Scopusorganizations
Flowof Events: DES Team-leader reviews mapped units,and approve it.
- ClassifyScopusaddresses
Flowof Events: SQL Agent classifies Scopus Addresses as following:
C1: Affiliations that have perfect information.
C2: Affiliations that have multiple levels but with one middle level missing.
C3: Affiliations that do not go as deep as they should.
C4: Affiliations that have conflicting information. That child belongs to a different parent. for example,
University of Pennsylvania, School of Business,and Department of Physics.
C5: Afflictions that have more than one child on the same level.
5. Authors email gathering
DES team getting emails for authors without emails in SCOPUS database
-Scopusauthors
Flowof Events: SQL Agent extracts authors without email with at least one paper since 2009 from
Scopus database.
- Searchingaboutauthors
Flowof Events: DES Team-member Searches online for authors’emails and data.
- Get emails
Flowof Events: DES Team-member inserts the found Emails into DES.
- Authorpublicationsapproval
Flowof Events: DES Team-member confirms and approves Scopus publications that belong to the
authors.
- Reviewauthoremails
Flowof Events: DES Team-leader reviews inserted authors’ emails and confirm not found authors.
Problematic emails
DES team approving correct names to emails that associated with different authors name in Scopus
database.
-Scopusemails
Flowof Events: SQL Agent extracts Scopus Emails associated with different authors’name.
- Authorsnamesapproval
Flowof Events: DES Team-member identifies and approves correct names by (Email includes last name
and part of first name).
- Get Emails
Flowof Events: DES Team-member identifies and selects correct format based on (publications count and
authorfull name).
- AuthorPublicationsApproval
Flowof Events: DES Team-member confirms and approves Scopus publications that belong to the
authors.
6. - Reviewproblematicemails
Flowof Events: DES Team-leader reviews selected correct authornames and formats.
Incompatible Groups
DES team Approving and consolidating first name to Scopus Authors associated with the same last Name
and Different first Name in Scopus database.
-Scopusemails
Flowof Events: SQL Agent extracts Scopus Authors associated with the same last Name and Different
first Name.
- Consolidate authors’namesandapproval
Flowof Events: DES Team-member consolidates author’s names that most probably belong to the same
author(based on author first name/initials).
- Reviewincompatiblegroups
Flowof Events: DES Team-leader reviews selected correct authornames.
Des Scopus Pairs
DES team getting emails for authors without emails in SCOPUS database using DES database.
-MergeScopusandDES Authors
Flowof Events: SQL Agent extracts authors from DES authors with Emails, which have been matched
with Scopus authors without Emails, based on same affiliation and same authorlast name.
- Authorsemailsapproval
Flowof Events: DES Team-member confirms and approves matched pairs based on author first
name/initials.
- ReviewDES Scopuspairs
Flowof Events: DES Team-leader reviews approved data.
7. Authors Data Gathering
DES team getting authors data included in all USA Affiliations
-USAAffiliations
Flowof Events: DES Team-leader assigns USA affiliation for Team-member to start working on.
- Get authors
Flowof Events: DES Team-member search to get data (Full Name – Position - Email – Profile URL- Pub.
URL - ….) For all authors within the assigned affiliation.
- ReviewAuthorsDataGathering
Flowof Events: DES Team-leader reviews inserted authors’data.
Physical Addresses
DES team Prepare authors’mailing addresses
-USAAffiliations
Flowof Events: DES Team-member get missing data for Scopus author addresses.
- Get authors
Flowof Events: DES Team member Organizes the mailing addresses (based on mailing addresses
formats).
- ReviewAuthorsDataGathering
Flowof Events: DES Team-leader reviews inserted data.
8. Logical View
Overview
The overall intent of this section is to convey the logical view of the DES internal software architecture and
design.It presents the architecturally significant design packages that will comprise the systemand
examples of the working inter-relationships between them to accomplish the functionality of the system. It
also presents their decomposition into classes and class utilities highlighting architecturally significant
classes,relationships, functionality and attributes.Finally, it presents the use-case realization of those use-
cases selected for the previous “Use-Case View” of the proposed system.
Architecturally Significant Design Packages
The systemis built of two main Tiers, Business Logic which is implemented in the form of SQL Server
Stored Procedures and Application Logic, which is implemented using ASP.NET MVC web system. The
link between both tiers is implemented through Data Access Object (DAO) Layer that is built using
ADO.NET components.
Data Models Package
Overview
This is a set of objects that holds data retrieved from database filled using the DAO upon different
operations.Most of the data retrieved from the database is held using DataTable object in the memory.
9. Class Diagram
View Models Package
Overview
This is a set of objects that holds the data in the form that will be used to be displayed for the user on the
web pages .
11. Controllers Package
Overview
This is the layer where we can send commands to the model to update the model’s state. It can also send
commands to its associated view to change the view’s presentation of the model.
12. Class Diagram
Development View
Process View
Overview
The overall intent of this section is to convey the process view of the DES internal software architecture
and design.It presents the decomposition of the DES processes as heavyweight processes comprised of
lightweight processes with specific behavior, lifetimes and interfaces
13. Process List
Institutional Identifiers
Process Overview
Building affiliation hierarchy for all worldwide affiliations then fixing Scopus missing addresses.
a. Team-leader assigns an affiliation for Team-member to start working on.
b. Team-member gets affiliations’ subunits (Departments – Divisions – Labs -…..) through
Google search and affiliation’s website then inserts it to DES.
c. Team-leader reviews inserted subunits within the affiliation hierarchy.
d. SQL Agent extracts all Scopus organizations tags that belong to the pre-specified affiliation.
e. Team-member maps Scopus organizations with the inserted affiliations’ subunits.
f. Team-leader reviews mapped units, and approve it.
g. SQL Agent classifies Scopus Addresses as following:
C1: Affiliations that have perfect information.
C2: Affiliations that have multiple levels but with one middle level missing.
C3: Affiliations that do not go as deep as they should.
C4: Affiliations that have conflicting information. That a child that belongs to a different
parent. For example, University of Pennsylvania, School of Business,and Department of
Physics.
C5: Afflictions that have more than one child on the same level. For example, Department of
Physics and Department of Chemistry.
15. AuthorsEmail Gathering
Process Overview
Getting emails for authors without emails in SCOPUS database.
a. SQL Agent extracts authors without email with at least one paper since 2009 from Scopus
database.
b. Team-member Searches online for authors’emails and data.
c. Team-member inserts the found Emails into DES.
d. Team-member confirms and approves Scopus publications that belong to the authors.
e. Team-leader reviews inserted authors’emails and confirm not found authors.
Process Activity Diagram
16. Problematic Emails
Process Overview
Approving correct names to Emails that associated with different authors’ name in Scopus database.
a. SQL Agent extracts Scopus Emails associated with different authors’name.
b. Team-member identifies and approves correct names by (Email includes last name and part
of first name).
c. Team-member identifies and selects correct format based on (publications count and author
full name).
d. Team-leader reviews selected correct author names and formats.
Process Activity Diagram
17. IncompatibleGroups
Process Overview
Approving and consolidating first name to Scopus Authors associated with the same last Name and
Different first Name in Scopus database.
a. SQL Agent extracts Scopus Authors associated with the same last Name and Different first
Name.
b. Team-member consolidates author’s names that most probably belong to the same author
(based on authorfirst name/initials).
c. Team-leader reviews selected correct author names.
Process Activity Diagram
18. Des ScopusPairs
Process Overview
Getting emails for authors without emails in SCOPUS database using DES database
a. SQL Agent extracts authors from DES authors with Emails, which have been matched with
Scopus authors without Emails, based on same affiliation and same authorlast name.
b. Team-member confirms and approves matched pairs based on authorfirst name/initials.
c. Team-leader reviews approved data.
Process Activity Diagram
19. Physical View
Overview
The overall intent of this section is to convey the deployment view of the system’s internal software
architecture and design.It presents the possible hardware configurations on which the systemcould be
implemented by mapping the process view to the physical nodes.
The DES systemhas 4 main nodes:DES Web Server, Primary Database Server, Secondary Database
Server and SQL Server Agent Jobs:
DES Web Server: this server is where DES web management system.The Data Entry team and Hindawi
top management can access the DES functionalities through this web system.
Primary Database Server: This server hosts the up-to-date data.
Secondary Database Server: This server hosts an image of the Primary Database which is updated on a
daily basis using a SQL Server Agent Job.
SQL Server Agent: This server hosts a set of Jobs that are scheduled to run recurrently. Hindawi Emails
Statistics Job: this job runs every 12 Hours to Update Hindawi Emails Statistics Report include (Emails
Founded Count, New Emails count not in Scopus database).
Database Backup Job: This job runs once every day to copy the newly Data from the Primary Database
Server to the Secondary Database Server.
Deployment Diagram