III. THE PROPOSED SYSTEM
3.2 System Design
3.2.2 Structure Modeling
Structure models. describe the underlying data structure of an object-oriented system. The models provide an internal static view of the evolving system such as how the objects are organized in the system.
Class diagram is a graphical description of the information contained on the CRC cards. It shows the classes and relationships between classes. The visibility of the attributes and operations and the multiplicity of the relationships are additional information that the class diagram portrays, which is not included
on the CRC cards. Class diagram of Training Management System (TMS) can be classified to 14 classes which store and manage information in the system (See Figure 3.8). The attributes of a class and their values define the state of each object that is created from the class, and the behavior is represented by the operations. There are 4 aggregation relationships such as Course and Offering classes because offerings are part of the courses, and the generalization of relationship; Training Administrators and Managers are kinds of employees.
Association relationships are shown by drawing lines between classes and a line label represents exactly how the two classes are related to each other.
CRC cards model the classes, their responsibilities, and their collaborations which are shown at the front of the card, and the back of the card contains the attributes and relationships (See APPENDIX C: CLASS-RESPONSIBILITY-COLLABORATION CARDS (CRC CARDS)).
Table 3.3. Multiplicity Multiplicity
Notation Minimum Maximum
Interpretation Instances Instances
Exactly one 1 1 1
A Class:
- Represents a kind of person, place, or thing about which the system will need to capture and store infonnation
- Has a name typed in bold and centered in its on top compartment
- Has a list of attributes in its middle compartment - Has a list of operations in its bottom
compartment
- Does not explicitly show operations that are available to all classes
An Attribute:
- Represents properties that describe the state of an object
- Can be derived from other attributes, shown by placing a slash before the attribute's name An Operation:
- Represents the actions or functions that a class can perform
- Can be classified as a constructor, query, or update operation
- Includes parentheses that may contain
parameters or information needed to perform the operation
An Association:
- Represents a relationship between multiple classes, or a class and itself
- Is labeled using a verb phrase or a role name, whichever better represents the relationship - Can exist between one or more classes
- Contains multiplicity symbols, which represent the minimum and maximum times a class instance can be associated with the related class instance
A Generalization Relationship:
- A "solid line with a large hollow triangle" used to connect lines between two classes denotes the generalization (or inheritance) relationship
An Aggregation Relationship:
- A "diamond" used to connect lines between two classes denotes the aggregation relationship
Classl
Figure 3.7. Element of Class Diagram
w 0
Course Delivery Mode -course code I -dm_id - -course_ name --dm_name -description -dm_online -start_ date -dm_synchronous -end_date uses 01 has o .. * Offering ~ o .. * Learning Object -offering_ id
~ -obj_id -offering_ name -obj_ name -start_ date ,..O .. * contains l -description -end_date -author """ -catalog -catalog_ number I lists -version o .. * -content_ type Class -server_ name -server_ directory -class_id -initial_ file -title -starting_ url -training_ center -location +loadContent() -status -start_ date -end_date -start_time -end_time I records o .. * -duration -unit -enrollment_start_ date -enrollment_ end_ date -min_ attendees -max_attendees -self_ enrollment +updateStatus()
Users Responsibility Menu -user_id o .. * has o .. * -resp_id contains -menu id o .. * o .. * - -user_name -resp_name -menu_name -user _password -creation_ date -page_name -creation_date -last_update_date -creation_ date -last_update _date -last_ update_ date -last_logon_date
I
0 .. 1 holdsI
1 Employee Notification -employee_id -notification_id -firstname -employee_id -lastname Organization records 2 .. * -message_ name -address -status -email -org_code -action_ type -phone_number o .. * belongs I -org_name -from_id -hire_date -org_type -creation date --salary -date_from -due date -job -date_to - +updateActionType() -person_ type 1 -manager_id +updateStatus() Enrollment I +enrollClass() -enrollment_ id +receiveNoti fication() -enrollment_ date +attendClass() -status is a ~ is a -completion_ date o .. * registers I I +updateStatus() Training Administrator Manager +sendNoti fication() +addEnrollment() +recei veNotification() +submitReport() +approveCourse() Figure 3.8. Class Diagram3.2.3 Behavioral Modeling
This model represents the underlying of the business process portrayed by interaction diagrams in UML which focuses on the object level. There are two different diagrams (sequence and communication) that can be used to model the interactions that take place between the objects in an information system.
Sequence diagrams· are shown in APPENDIX D: SEQUENCE DIAGRAM which illustrate the objects that participate in a use case and the messages that pass between them over time for one use case.
Communication diagrams are shown m APPENDIX E:
COMMUNICATION DIAGRAM which provide a view of the dynamic aspects of an object-oriented system that emphasizes the flow of messages through a set of objects so communication diagrams are very useful to show process patterns of activity that occur over a set of collaborating classes.
The proposed system is divided into eleven major use cases which are:
Use Case 1: Create Course
Training Administrator creates courses which are the first level of catalog hierarchy, the system will generate course information.
Use Case 2: Create Offering
Training Administrator looks up the course that would like to create an offering then select the delivery mode. If the mode is online, training administrator has to select the learning object before creating an offering.
Use Case 3: Create Class
Training Administrator looks up the offering that would like to create a class then create class information.
Use Case 4: Create Learning Object
Training Administrator creates learning objects for online class which are linked to content server.
Use Case 5: Add Enrollment
Training Administrator selects the class from class infonnation, then selects learner from employee information to create an enrollment. After an enrollment object is created, the system will generate notification information in order to inform the learner and manager for approval enrollment.
Use Case 6: Enroll Class
Leamer selects classes from the class information via learner self-service responsibility then enrolls the class. After an enrollment object is created, the system will generate notification information in order to inform the learner and manager for approval of enrollment.
Use Case 7: Approve Course
Manager will receive the notification via manager self-service then take approval actions. After the result, the system will update status to notification and enrollment information. Also, the result will be notified to learner.
Use Case 8: Attend Class
Leamer attend class via learner self-service which are shown as attendance lists. Fore-learning class, learner can use online player.
Use Case 9: Browse Class
Leamer browses class from class information to make an enrollment.
Use Case 10: Track Enrollment
Training Administrator track enrollments from any criteria such as class name, enrollment number, enrollment status, person type and organization.
32
Use Case 11: Search Course
Training Administrator look up course catalogs from the search criteria.
3.2.4 Database Design
Data management layer designs focuses on both data access and manipulation logic along with the actual design of the storage. The data storage component of the data management layer manages how data is stored and handled by the programs that run the system. The proposed system selects relational databases design as object-persistence formats of storage. The database design technique to store objects, objects must be converted so that its can be stored in a table. From a design perspective, this entails mapping the problem domain classes in a UML class diagram to the RDBMS-based data management layer tables which are shown in Figure 3.9. As the rules of mapping problem domain objects to RDBMS, all the concrete problem domain classes are mapped to RDBMS tables. Second, single-valued attributes are mapped to columns of the table. Third, methods are mapped to stored procedures or to program modules. Aggregation and association relationship are mapped by placing the primary key from one table into the related table as a foreign key, but if there are multi-valued aggregation and association relationship, a new associative table is created which relates the two original tables together then copy the primary from its to the new associative table. Generalization relationship is mapped by adding column to each table that represents a subclass for each of the concrete superclasses of the subclass, also the primary key of superclass and subclass have to be similar.
The database table will be shown in APPENDIX F: DATABASE TABLES. It will include attribute name, data type, length, default value, uniqueness and description.
w .+;:..
RDBMS Tables Figure 3.9.
Problem Domain Classes Mapping problem domain classes to RDBMS tables
Notification -notification _id -employee _id -message_ name -status
RDBMS Tables Figure 3.9.
Problem Domain Classes Mapping problem domain classes to RDBMS tables (Continued)
3.2.5 User Interface Design
Based on the examination of use case, sequence diagrams and requirements from users describe commonly employed patterns of actions that the user will perform so the interface design specifications will be created.
The propose system is designed to be Web-based interfaces and Graphical User Interface (GUI) which the input screen will be developed to be user friendly.
Input mechanism facilitates the entry of data into the computer system such as course code, description, enrollment number, status and so on which is designed to be simply and easily capture accurate information for the system. It will be shown in the APPENDIX G: USER INTERFACE DESIGN.
3.2.6 Output Reports
Output mechanism presents information· to users so they can accurately understand it with the least effort. Output specifications have been derived from user requirements and existing reports.
Reports of the proposed system are designed in different types of reports, such as detailed report and summary report. The report will respond to a query with matching the criteria. The system produces outputs, whether on the screen that is the web report for enrollment state, on paper. The user will see information in tabular format in the application, and can export to excel file. It will be shown in the APPENDIX H: OUTPUT REPORTS.
3.3 Analysis of Candidate Solutions
As the system request, Siam Commercial Bank Public Company Limited has own process for the feasibility analysis including 4 techniques; operational feasibility, technical feasibility, economic feasibility and schedule feasibility. The results of these techniques are combined into a feasibility study deliverable that is given to the approval
36
committee. Cost-Benefit analysis identifies the financial risk associated with the project which will be used for economic feasibility along with the Feasibility Analysis Matrix in Table 3.4.
To do the feasibility analysis, Feasibility Analysis Matrix will use for identifying candidate system solutions and analyzing the feasibility for those solutions. Each candidate solution will be used for comparison in Feasibility Analysis Matrix.
• Candidate number one is an alternative of packaged software which IS Oracle Leaming Management System (OLM).
• Candidate number two is an alternative of custom development which is developed by SCB Information Technology Solution Division. The application is developed by using Visual Basic .net with SQL server database management system.
• Candidate number two is an alternative of outsourcing development which is developed by PWS Consulting Company Limited. The application Is developed by using Java with DB2 database management system.
To perform a cost-benefit analysis as shown in APPENDIX I: COST ANALYSIS OF CANDIDATE SOLUTIONS, the analysis is determined by identifying costs and benefits associated with the system, assigning values to them, and then calculating the cash flow and return on investment for the project.
Cost-benefit analysis usually contains costs and benefits over five years to show cash flow over time. For example, APPENDIX I lists amount for training costs and material costs for all five years.
Net Present Value (NPV) is used to compare the present value of future cash flows with the investment outlay required to implement the project. The present value (PV) of the costs and benefits are calculated first. Then NPV is calculated, and it shows
the discounted rate of the combined costs and benefits. In this case, the rates of change highest ROI which can be calculated as below;
ROI =((Total benefits -Total costs)/ Total costs) x 100
= ((20,092,342.55 - 7,987,340.50)/ 7,987,340.50) x 100
= 152 %
The break-even point is determined by looking at the cash flow over time and identifying the year in which the benefits are larger than the costs. Candidate two can be calculated as below;
Break-Even point= (Yearly NPV* - Cumulative NPV)/ Yearly NPV
= (3,222,054.11 - 1,587,431.47)/ 3,222,054.11
= 0.51 **
= 1.51 years (break-even occurs in year 2)
* Use the Yearly NPV amount from the first year in which the project has a positive cash flow.
**Add the above amount to the year in which the project has a positive cash flow.
In conclusion, after analyzing and ranking in Feasibility Analysis Matrix, the candidate three is selected as it provides the best advantages to the system and organization with the details as follows:
38
Operational Feasibility
Even the candidate number one is more competitive than other candidates because the package can support future business, but some current work procedures must be changed to associate with standard functions of the package, some functions will not be used according to the inconsistency of user requirements, and user interface needs to be modified as personalization of organization. The candidate number two and three are parallel alternatives, but candidate number two is the most suitable for current business as custom development is entirely dedicated to the company which means they are more accessible than a firm might be, and the services they provide are flexible and may be customized easily.
Technical Feasibility
As the bank's IT expertise increases, it will help for internal system development. The candidate number two can develop and maintain the system easily and conveniently using Visual Basic .net with SQL server.
Economic Feasibility
The candidate number two is the best worth in cost effectiveness because the custom development is made by SCB Information Technology Solution Division so the development cost will have less than other candidate solutions.
Also, there are the highest return on investment and fastest for break-even point.
Schedule Feasibility
The candidate number one is packaged software so the implementation time will be less than the other candidates which are the custom development.
Table 3.4. Feasibility Analysis Matrix
Functionality OLM software Fully supports user Same as package supports requirements candidate 2 the basic functions because of the
and operations of system specification
Training is designed
Management specifically for System including training business some excessive processes of the modules which are organization not essential for
Political The application is The system will be Same as standard function so accepted by all candidate 2 some work flow stakeholders easily
processes might be as it is designed to changed. Functional support cover the users and business needed.
stakeholders need more consideration.
Score: 95 Score: 90 Score: 90
40
Table 3.4. Feasibility Analysis Matrix (Continued) Feasibility
Wt Candidate 1 Candidate 2 Candidate 3
Criteria
Technical 30% OLM software SCB Technical PWS Consulting Feasibility package has been Teams are familiar Company Limited
famous on the with Visual Studio is famous market so there are .net developer tool software house many site references because current which has
in Thailand. The applications at the certified by IBM, application bank are almost Microsoft and so development is base web-based on. According to on Java technology application so limited resources, and use oracle technical teams have SCB need to pay developer tool many skills which for outsourcing which SCB can develop and software technical teams have maintain easily. development.
been less skills so in Training Training the implementation Management Management need skills transfer System (TMS) is System (TMS) from oracle base on Visual will develop on consultants and Basic .net with SQL Java language
some training server. withDB2.
courses. Oracle will
Table 3.4. Feasibility Analysis Matrix (Continued)
Present Value Approximately Approximately Approximately (PV) of Costs: 11,777,414.27 baht. 7 ,987 ,340.50 baht. 9,113,965.89 baht.
Net Present Approximately Approximately Approximately
Value (NPV): 8,314,928.28 baht. 12,105,002.05 baht. 10,978,376.66 baht
Return On Approximately Approximately Approximately
Investment 71% 152% 120%
(ROI):
Break-Even Approximately Approximately Approximately
Point: 2.64 years. 1.51 years. 1.83 years.
Detailed See APPENDIX I: See APPENDIX I: See APPENDIX I:
.· calculations: COST ANALYSIS COST ANALYSIS COST ANALYSIS
OF CANDIDATE OF CANDIDATE OF CANDIDATE
SOLUTIONS SOLUTIONS SOLUTIONS
Score: 65 Score: 95 Score: 80