data entry system

21
Data Entry System Software Architecture Document Version 1.0 Data Entry System Version 1.0 Software Architecture Document 29 Jan, 2015 Revision History Date Version Description Author 29 Jan, 2015 1.0 Start the document Mohamed Elgamal

Upload: mohammed-elgamal

Post on 16-Aug-2015

30 views

Category:

Documents


0 download

TRANSCRIPT

Data Entry System

Software Architecture Document Version 1.0

Data Entry System Version 1.0Software Architecture Document 29 Jan, 2015

Revision HistoryDate Version Description Author29 Jan, 2015

1.0 Start the document Mohamed Elgamal

IntroductionData Entry System (DES) is a system built for Searching for contacts of authors 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

OverviewThe Use-Case view of the DES architecture presents use-cases that represent a significant, central functionality which must be performed by the DES system.

Use Case Diagram

Use Case Description

Institutional Identifiers DES team building affiliation hierarchy for all worldwide affiliations then fixing Scopus missing addresses.

- Assign affiliation

Flow of Events: DES Team Leader assigns an affiliation for DES Team-member to start working on.

- Affiliation sub units

Flow of Events: DES Team-member gets affiliations’ subunits (Departments – Divisions – Labs -…..) through Google search and affiliation’s website then inserts it to DES.

- Review Affiliations sub units

Flow of Events: DES Team-leader reviews inserted subunits within the affiliation hierarchy.

- Scopus organizations

Flow of Events: SQL Agent extracts all Scopus organizations tags that belong to the pre-specified affiliation.

- Map Scopus organizations

Flow of Events: DES Team-member maps Scopus organizations with the inserted affiliations’ subunits.

- Review map Scopus organizations

Flow of Events: DES Team-leader reviews mapped units, and approve it.

- Review map Scopus organizations

Flow of Events: DES Team-leader reviews mapped units, and approve it.

- Classify Scopus addresses

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

Authors email gatheringDES team getting emails for authors without emails in SCOPUS database

-Scopus authors

Flow of Events: SQL Agent extracts authors without email with at least one paper since 2009 from Scopus database.

- Searching about authors

Flow of Events: DES Team-member Searches online for authors’ emails and data.

- Get emails

Flow of Events: DES Team-member inserts the found Emails into DES.

- Author publications approval

Flow of Events: DES Team-member confirms and approves Scopus publications that belong to the authors.

- Review author emails

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

-Scopus emails

Flow of Events: SQL Agent extracts Scopus Emails associated with different authors’ name.

- Authors names approval

Flow of Events: DES Team-member identifies and approves correct names by (Email includes last name and part of first name).

- Get Emails

Flow of Events: DES Team-member identifies and selects correct format based on (publications count and author full name).

- Author Publications Approval

Flow of Events: DES Team-member confirms and approves Scopus publications that belong to the authors.

- Review problematic emails

Flow of Events: DES Team-leader reviews selected correct author names 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.

-Scopus emails

Flow of Events: SQL Agent extracts Scopus Authors associated with the same last Name and Different first Name.

- Consolidate authors’ names and approval

Flow of Events: DES Team-member consolidates author’s names that most probably belong to the same author (based on author first name/initials).

- Review incompatible groups

Flow of Events: DES Team-leader reviews selected correct author names.

Des Scopus Pairs

DES team getting emails for authors without emails in SCOPUS database using DES database.

-Merge Scopus and DES Authors

Flow of 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 author last name.

- Authors emails approval

Flow of Events: DES Team-member confirms and approves matched pairs based on author first name/initials.

- Review DES Scopus pairs

Flow of Events: DES Team-leader reviews approved data.

Authors Data Gathering

DES team getting authors data included in all USA Affiliations

-USA Affiliations

Flow of Events: DES Team-leader assigns USA affiliation for Team-member to start working on.

- Get authors

Flow of Events: DES Team-member search to get data (Full Name – Position - Email – Profile URL- Pub. URL - ….) For all authors within the assigned affiliation.

- Review Authors Data Gathering

Flow of Events: DES Team-leader reviews inserted authors’ data.

Physical Addresses

DES team Prepare authors’ mailing addresses

-USA Affiliations

Flow of Events: DES Team-member get missing data for Scopus author addresses.

- Get authors

Flow of Events: DES Team member Organizes the mailing addresses (based on mailing addresses formats).

- Review Authors Data Gathering

Flow of Events: DES Team-leader reviews inserted data.

Logical View

OverviewThe 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 system and 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 PackagesThe system is 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

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

Class Diagram

View Models Package

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

Class Diagram

Controllers Package

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

Class Diagram

Development View

Process View

OverviewThe 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

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.

Process Activity Diagram

Authors Email Gathering Process OverviewGetting 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

Problematic Emails

Process OverviewApproving 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

Incompatible Groups

Process OverviewApproving 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 author first name/initials).

c. Team-leader reviews selected correct author names.

Process Activity Diagram

Des Scopus Pairs

Process OverviewGetting 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 author last name.

b. Team-member confirms and approves matched pairs based on author first name/initials.c. Team-leader reviews approved data.

Process Activity Diagram

Physical View

OverviewThe 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 system could be implemented by mapping the process view to the physical nodes.

The DES system has 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