We designed a mobile application for The Church of Jesus Christ of Latter-day Saints as part of our project in Systems Engineering 2. The app aims to aid the church clergies in their effort to improve human relations.
1.
The Church of Jesus Christ of Latter-day Saints
Development on New Ministering Visit App
CIS 405 Spring 2018
Project Team:
Jared Kaonohi
Alger Aranda
Kay Ng
3. Design Explanations of the Database Layer
Classes and Methods:
Our database layer contains 4 RDBMS tables, 3 data access and management (DAM)
classes and 7 problem domain classes.
The 4 tables are: User Table, Account Table, Appointment Table and Visit Table.
● For the User Table, there are 7 attributes:
1. lastname is a string with up to 20 characters. It is the last name of users.
2. firstname is a string with up to 20 characters. It is the first name of users.
3. address is a string with up to 100 characters. It is the address of users.
4. phone is an integer with 10 numbers. It contains the phone number of
users.
5. birthdate is an integer with 8 numbers. The format is: MMDDYYYY. It
contains information of the birthdate of users.
6. age is an integer with 1 to a range between 8 to 120. It represents the age
of users.
7. member# is an integer with 11 numbers. It is the church membership
number of users.
● For the Account Table, there are 3 attributes:
1. membername is a string with up to 20 characters. It is the login name of
users.
2. logintime is an integer with 4 numbers. The format is: hhmm. It contains
the login time of the users.
3. logouttime is an integer with 4 numbers. The format is: hhmm. It contains
the logout time of the users.
● For the Appointment Table, there are 4 attributes:
1. time is an integer with 4 numbers. The format is: hhmm. It is the time of
the ministering appointment.
2. date is an integer with 8 numbers. The format is: MMDDYYYY. It is the date
of the ministering appointment.
3. location is a string with up to 40 characters. It is the place of ministering.
4. member# is an integer with 11 numbers. It is the church membership
number of users.
4. ● For the Visit Table, there are 4 attributes:
1. lesson is a string with up to 120 characters. It contains the topic, content or
any notes regarding the ministering.
2. service is a string with up to 120 characters. It represents things that
household would like ask their ministers to assist with.
3. visithistory is a string with up to 200 characters. It contains the feedback
or any notes given by the household and ministers.
4. location is a string with up to 40 characters. It contains information of the
visit location
The 3 DAM classes are: Account DAM, Appointment DAM and Visit DAM. The methods
of DAMs are as follows:
● The Account DAM reads and writes data of string and integer from the
Appointment Table, Visit Table and Account Table
● The Appointment DAM reads and writes data of string and integer from the
Appointment Table and Visit Table
● The Visit DAM reads and writes data of string and integer from the Visit Table
Under Problem domain class, seven classes are defined namely: User, Account,
Household, Church Leaders, Ministers, Visit, and Appointment. User is the parent of
Account which is the parent of the three subclasses: Household, Church Leaders, and
Ministers. The other two classes, Visit and Appointment are interconnected to all
other classes of the problem domain class category. The User class contains two
methods, change address and update age, which are inherited by the child class
account, and the other three subclasses mentioned beforehand.
The two main methods under the parent class User, change address and update
age, are being inherited by all the child classes which means that each of those
actors indicated on the design has the capability to update the address of their own
user account. The cancel without notice capability, on the other hand, will be granted
to the three classes, household, church leaders, and ministers. One unique method
among all other method is the assign minister which is only granted to church
leaders. Household, if desired, has the capability to schedule an appointment with
the other actors [Church Leaders and Ministers] for any church purposes.
Dependency:
Dependency of tables:
The user table is the parent of the account table. Also, the account table is the
parent of both the visit and appointment tables, because the account table is where
5. the user’s information will go to create an account on the system. The account table
will then affect the changes on the visit and appointment table. Appointment table
will be the parent of the visit table.
Dependency of databases:
The Appointment database connects with Account, Appointment and Visit tables.
Then the Appointment database connects to Account, Appointment classes are
interconnected to the appointment database and its through this database where the
data will change also the data on the appointment and visit. The Appointment
database connects to the Appointment and Visit classes. Lastly, the Visit database
connects the Visit table to Visit class.
Dependency of problem-domain classes:
The User table will connect with the User class in the problem-domain classes. The
User class is the parent of Account class, and the Account class is the parent for the
Household, Ministers and Church Leaders classes. The Household, Ministers and Visit
class connects to Appointment class.
Database Format
We decided to have our database founded on the relational database management
system (RDBMS) because that is the only format that we are most familiar to and the
simplest way for us on to setup the application. Also, our information is not complex,
in which the data types are mainly going to be text and integers.