You are on page 1of 19

Internship at Code Jawa

MTC: Meeting, Thinking, Coding


A Sasmito Adibowo
1299000029

Faculty of Computer Science Code Jawa


University of Indonesia 1/F Tower E
Kampus Baru UI Depok Jl TB Simatupang Kav 88
Jawa Barat Jakarta 12520
Agenda
Looking Ahead

< Company Profile


< Project Description
< Conclusion
Code Jawa Profile
Founders

Craig Owensby Iwan Tantra


Spotcast Infoskape
Code Jawa Profile
Mission Statement

“To provide a value-optimized


software development outsourcing
option, recognized for excellence
throughout the world.”
Code Jawa Profile
Core Strategies: The Five Ts
Code Jawa Profile
Development Methodology
Code Jawa Profile
Core Competencies

< Mobile Applications


< Online Payment and Banking
Solution
< Custom Server-side Component
Development
Code Jawa MTC
Product Overview

< MTC: Meeting, Thinking, Coding


< Activity-monitoring software
< Primarily for computer-intensive
employees
< Monitor project resources
< On-the fly activity reporting
< Personal Edition prototype
< Enterprise Edition is planned
Code Jawa MTC
Use Cases

<<include>>
Query Application Usage Log current activity

Create Project
Query Idle Time
MTC System MTC User
Project Profile

generate view
<<include>>
Report
Edit Project
Code Jawa MTC
Scope for Personal Edition

Project Subdirectories initialized by Initial Project Subdirectories


0..* 0..*

works in has 1 1..1 1..1 1


Project Project Profile 1 initialized by Profile Template
1 1..* 1 1..*
1 1
1 1 Specifies
MTC User 0..*
consists of 0..*
(from Business Use-Case Model)
An application may Project Applications Initial Activity Types
0..* be used in more
has 1
1 Activities than one project. 0..1
User Preferences
1..1

External Activities Computer Activities utilized in initialized by


1
1..*
1..1
Categorizes Activity Types
1..n
Code Jawa MTC
System Architecture

Data-
hook window Main method Business method SQL Local
Agent Access
notifications messages
Window calls
Logic calls queries
Database
Objects
Windows
System process
boundary mtcclient.exe
mtcagent.dll BDE Engine
Code Jawa MTC
System Architecture

< Layered two-tier model


< Two main tiers: Agent and Client
< Agent implements the low-level
functions for data collection
< Client functions as the user interface
and data storage/processing
< Communication through window
messages
Code Jawa MTC
Working Tables
project
project_id: AUTOINC application
project_status project_application application_id: AUTOINC
status_id: AUTOINC (FK)
status_id: AUTOINC project_name: VARCHAR(40) application_id: AUTOINC (FK) executable_file: VARCHAR(255)
status_name: VARCHAR(40) description: BLOB(1,1) project_id: AUTOINC (FK) application_name: VARCHAR(255)
dt_lastchanged: Timestamp project_start: Timestamp description: BLOB(1,1)
dt_lastchanged: Alpha(18)
project_finish: Timestamp file_exists: BOOLEAN
root_folder: Alpha(18) dt_lastchanged: Timestamp
dt_lastchanged: Timestamp

project_folder
project_id: AUTOINC (FK) application_project_file
folder_name: VARCHAR(255) application_id: AUTOINC (FK)
project_id: AUTOINC (FK)
folder_exists: BOOLEAN
folder_name: VARCHAR(255) (FK)
dt_lastchanged: Timestamp
file_name: VARCHAR(255) (FK)
dt_lastchanged: Alpha(18)
project_activity_type project_activity
project_id: AUTOINC (FK) project_id: AUTOINC (FK)
activity_type_id: AUTOINC activity_id: AUTOINC
activity_name: VARCHAR(40) activity_type_id: AUTOINC (FK)
description: BLOB(1,1) application_id: AUTOINC (FK)
dt_lastchanged: Timestamp folder_name: VARCHAR(255) (FK) project_file
file_name: VARCHAR(255) (FK) project_id: AUTOINC (FK)
description: BLOB(1,1) folder_name: VARCHAR(255) (FK)
activity_start: Timestamp file_name: VARCHAR(255)
activity_finish: Timestamp
file_exists: BOOLEAN
dt_lastchanged: Timestamp
dt_lastchanged: Timestamp
Code Jawa MTC
Activity Monitor States
MTC Startup The last known
currentApplication is
application switch automatically recorded
as an activity

application switch
Monitoring (A) Record
1 currentApplication
The popup dialog
displays the last known (D) record application
no application usage activity
switch for application currentApplication
tpShortApp switch no application
seconds switch for answer
tpLongApp popup dialog
(B) note Monitoring seconds (C) display
currentApplication 2 application popup

user is idle user is idle


(F) record tpPeriodicPopup elapsed
idle time (E) Record last activity Monitoring
before going idle 3

popup dialog Monitoring Idle time


answered (popup displayed)
user is idle
Code Jawa MTC
Activity Monitor States

< States are modeled after the work


cycles of the CTO
< Implemented using the State design
pattern (Gamma, et al)
< To simplify further modifications
< Further research needed to improve
the monitor states
< Primarily psychological research
Code Jawa MTC
Activity Monitor Implementation

1..1 1..1
TFrmMain ActivityMonitor ActivityContext ActivityState
1 1 1 1

MonitoringState State_A State_C State_E

State_B State_D State_F


MonitoringState1 MonitoringState3

MonitoringState2 MonitoringStateIdle
Code Jawa MTC
Tools Used

< Borland C++ Builder 5


< Computer Associates ERwin 4.0
< Rational Rose 2000
< Doxygen 1.2.17
< UltraEdit 7.10a
< Visio Professional 5
< Microsoft Word 2000
< Microsoft Paint
Concluding Remarks

< Three credits for an internship period


is not enough.
< More research to improve activity
monitor states.
Thank You

Any questions?

You might also like