Buncis Developer's Training Strategic Plan Draft
May 17, 2002 Sasmito Adibowo
Fave Club http://faveclub.bncc.net
ENRICH YOUR MIND
Project Name: Buncis Developer's Training Document Title: Strategic Plan Draft
Table of Contents Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 General Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Technical Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Training Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Primary Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Secondary Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Reference Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Paper Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Electronic Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Revision history Date
Author
Notes
May 17, 2002
adib
Initial revision
http://faveclub.bncc.net
Page 2 of 6
Project Name: Buncis Developer's Training Document Title: Strategic Plan Draft
1 Foreword The implementation of an information system is not a trivial task. We require a strong set of human resources in order to complete such projects. Thus, the preparation of such human resource is an important phase of the project. Additionally, human resource is by far the most precious asset of any organization. Recognizing that, any human resource improvement project should not be neglected. In order to implement our Buncis system, we need to prepare enough human resources for its implementation, deployment and maintenance. Furthermore, more analysts and programmers will be required for additional redevelopment of the system. This document describes the proposed strategies for a training program to prepare our human resource in order to implement the Buncis system. It serves to define the goals, outline the materials required, and the expected outcome of the training.
2 Goals Goals must be set on any project in order to direct its process and evaluate its progress. Good goals exhibit the SMART properties; they are Specific, Measurable, Attainable, Reasonable, and Targeted. The following is a goal that I propose in this project. The goal of the training program is to produce human resources with enough quantity and skills in order to implement the Buncis system. This goal needs to be refined further so that it fulfills the SMART properties. It needs to be measurable and targeted. That is, we need to define how many people that we need, how are we going to assess the quality of them, and also how long the training program should take.
3 Prerequisites Any moderate and advanced training programs require to assume something in their participants. This is due to the fact that these programs build on top of the already-acquired skills. Thus, the input variance must be minimized. Even better when it can be assumed that the participants have mastered a certain level of minimal skills. Our training program is not an exception of that fact. We need quality in our input. The following are suggestions of the requirements imposed on the trainees.
http://faveclub.bncc.net
Page 3 of 6
Project Name: Buncis Developer's Training Document Title: Strategic Plan Draft
3.1 General Requirements • Willing to learn and has the ability to learn fast. • Willing to commit in the implementation of Buncis. • Self-motivated and able to function under minimal supervision. • Hard working and quality-oriented – he or she must be willing to fulfill more than the minimal requirements requested. 3.2 Technical Requirements • Knows computer programming in at least two programming languages. This is to ensure that he or she has mastered the basic concepts of programming such that learning a third language will not be a problem. • Understand object-oriented programming concepts. Since we are going to implement Buncis in Java, understanding of OOP concepts will ease the transition. • Understand the applications of database system concepts. Any information systems software is essentially a database application. Thus, its underlying concept needs to be mastered. • Understand the concept of markup languages. XML is planned to be a significant part of Buncis. While learning XML is not too difficult, basic understanding of markup languages will prove useful.
4 Training Subjects This section describe the subjects that Buncis programmers need to learn. By mastering these subjects, it is expected that they will have enough skills to begin implementing the system. 4.1 Primary Subjects 4.1.1 General Java Programming Because the participants have already known programming, the materials will primarily serve as a transition phase from their previous programming language. They will be given an overview of the Java programming language and object-oriented concepts. Since the participants have understood the concepts, the materials will primarily focus on the syntax and other Java-specific aspects. Additionally, they will be provided with an overview of the tools available to create Java programs, both server side programs and end-user applications. 4.1.2 Web programming: JSP and Servlets Participants will be able to apply their Java programming skills to serverbased environments. They will learn how to program server-side applications using the Java Servlet standard.
http://faveclub.bncc.net
Page 4 of 6
Project Name: Buncis Developer's Training Document Title: Strategic Plan Draft
Using Java Server Pages, participants will be able to program web and weblike applications (such as WAP applications). They should then understand the restrictions imposed by the stateless nature of the HTTP protocol. Through these subjects it is expected that the participants will understand the rigor required to program server-based applications and the differences to programming regular PC application software. Typically, server applications have no direct user interface and must be able to serve multiple users concurrently. 4.1.3 Structured Query Language (SQL) Materials on SQL should be designed such that not only the participants are able to say SELECT, INSERT, UPDATE, etc. But they will understand the concepts of relational databases. Using such knowledge, they will be able to design an efficient database schema and perform database manipulation tasks using SQL. 4.1.4 Database programming: JDBC Using JDBC, the participants will be able to apply their relational database skills to Java programs. They will be able to program Java-based database applications using the embedded SQL feature offered by JDBC. 4.1.5 Unified Modeling Language (UML) Invariably, programmers have to understand system specification documents in order to create programs. Since UML is the most current widely-used diagraming standard in software system design, participants will need to understand the concepts behind it along with its syntax and semantics. 4.2 Secondary Subjects 4.2.1 Extensible Markup Language (XML) Today XML is the most versatile markup language available. Apart from document storage and retrieval, XML is also used in communications between heterogeneous systems. It is very probable that Buncis will extensively employ XML. One use is for document storage and retrieval. Since we expect that Buncis will evolve to be accessible to WAP-enabled mobile devices, the Buncis user interface will need to be in expressible in XML. Participants will learn what XML is along with its concepts. They will learn how to create and manipulate XML documents, and use the various tools available around XML. These concepts and tools include XML stylesheets, XML parsers, and XML document type definitions (XML DTDs).
http://faveclub.bncc.net
Page 5 of 6
Project Name: Buncis Developer's Training Document Title: Strategic Plan Draft
4.2.2 Using XML Parsers Participants will know how to program applications that creates and process XML documents. Programming libraries targeted at that task are collectively referred to as XML parsers. One of the well known parser for Java is Xerces-J, developed by the Apache Software foundation and freely available at http://xml.apache.org. Participants will learn to program using this parser. They will also need to understand the Document Object Model (DOM) and the Simple API for XML (SAX) concepts behind it. 4.2.3 Design Patterns Since software development is now a more mature subject, common “bestpractices” techniques have been established. These techniques are called design patterns and is very similar in concept to the patterns applied in other disciplines, such as architecture and arts. Participants will need to learn these patterns and identify those that are included in the design of Buncis. By understanding the patterns, they will be able to correctly implement the design.
5 Reference Materials This section lists the various reference materials that may be relevant to the training subjects. This list is not complete. 5.1 Paper Books Booch, Grady, et. al. The Unified Modeling Language User Guide. AddisonWesley. 1999. ISBN 0-201-57168-4. Gamma, Erich, et. al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company. 1995. ISBN 0-20163361-2. 5.2 Electronic Books Apache XML Project. Xerces-J API Documentation. The Apache Software Foundation. 2000. Cooper, James W. The Design Patterns Java Companion. Addison-Wesley. 1998. Hortsmann, Cay S. Computing Concepts with Java 2 Essentials. John Wiley & Sons, Inc. 1999. ISBN 0-471-17223-5. Sun Microsystems. Java 2 Platform Standard Edition API Specification. Sun Microsystems, Inc. 1999. Walnum, Clayton. Java by Example. 1996. http://faveclub.bncc.net
Page 6 of 6