|
Introduction
iTrain presents a six-day training program aims to provide software
engineers/developers the necessary knowledge in process, tools and technologies
to achieve increase in software productivity and quality. The two parts of the
training is a disciplined approach to software development that encourages
developers to have the knowledge to design and apply process, tools and
technologies that work in their organizations.
The students learn to make mistakes, and importantly learn a number of
techniques to better deliver software products in a situation when deadlines and
requirement changes occur. About 50% of the classroom time is spent applying
these techniques to design a software product.
| Course Outline |
| Workshop I |
|
| Focus : |
Idea Realization, Specification, Requirements Analysis & Project
Planning |
| Duration : |
3 days |
| Day 1 : |
Using Visual Studio Team System (VSTS) and Rational Systems
Developer (RSD) to manage software requirements analysis and design. |
| Day 2 : |
Apply VSTS and RSD to the design of the requirements and software
architecture of a software product. |
| Day 3 : |
Manage software and feature changes, software architecture reuse and
maintenance. |
| |
|
| Workshop II |
|
| Focus : |
Process, Tools & Technologies to Accomplish Design, Implementation &
Testing |
| Duration : |
3 days |
| Day 1 : |
Software process, UML diagrams, version control and code review for
software implementation and verification. |
| Day 2 : |
Using VSTS, RSD, ClearCase, WinCVS and other tools in the implementation
and testing of a software product. |
| Day 3 : |
Manage source code, unit and integration testing and software
changes. |
Course Synopsis
Workshop I
This part of the class covers idea realization, specification and requirements
analysis and software project planning. This class looks at software planning
and a template to perform software project planning. A number of software
estimation and planning techniques such as Wideband Delphi are discussed in
details. From the process standpoint, an interactive process covering
specification, design, implement, test and maintenance is presented, and quality
control using design review method is emphasized. The class also looks at a
template to perform specification and requirement analysis of a software tool.
The class discusses Microsoft Team System and Rational Unified Process in
software product specification and design.
The practical session in this class introduces the students to design a
distributed and wireless-based software product on a desktop. The practical
session gets the students involved in the design of a software process covering
specification, design, implement, test and maintenance. The students will be
asked to use either a Microsoft Team System and tools, or Rational Tools to
design a software process. They will apply one of the software estimation
techniques such as Wideband Delphi to perform the software estimation for the
wireless software product on a desktop. The students will continue to use
Rational Tools such as RequisitePro and Rational Rose to apply the model-driven
software approach to software specification. Some of the students will use the
Microsoft Team System to accomplish the software specification and requirements
analysis.
The students will learn and apply the Unified Modeling Language (UML) diagrams
such as Use Case and Sequence diagrams to specify software requirements. This
class introduces a practical application of the UML diagrams and function-class
decomposition (FCD) concept to requirements analysis, software architecture
analysis and design, and software design and implementation for the wireless
product. Based on the function-class decomposition concept, the UML diagrams for
requirement analysis, and software architecture analysis and design are learnt
in detail. The students will learn to use design review to review software
specifications and requirements that are completed by other students. The final
part of this part will reflect on the completed requirements and design
documents to understand how the software architecture, tools and process
practiced in the class help reduce risks when software changes occur.
Workshop II
This is a continuation from the workshop I looking into process, tools and
technologies to accomplish software design, implementation and testing. The
software process discusses an iterative approach to software using a
Model-Driven, UML and function-class decomposition approach to software design.
The presentation highlights some of the best or cutting-edge tools and
technologies, such as auto-code generation, traceability matrix and practical
ideas in complex software design based on real-world intensive experience in
designing software for customers.
The practical session requires the user understands software requirements
specification and software design document, and implement a wireless software
product. The students will then perform a further implementation of the software
requirements using a UML tool. The students will apply design patterns and
function-class decomposition for the design of UML class diagrams, sequence
diagrams, and component diagrams. The students are exposed to the technologies
of auto-code generation using a UML tool.
The most important part of the experience is in the code inspection phase in
which we simulate a large-scale requirements changes after a code inspection.
The students will learn to cope with intensive requirements changes by applying
design patterns, function-class decomposition, model-driven technologies and
code inspection technique. The students will also learn how to apply iterative
design process, the feature-driven and value-creation idea in Microsoft Team
System and traceability matrix to better predict the time for the delivery of
software products when pressured with deadlines, quality and time to market.
Importantly, we will reflect how well the process, tools and software
architecture techniques support software change requests and updates while
exceeding customers� expectation on quality and deadlines. The question of
whether we design and test what we put into requirements is answered in the
class.
| Instructors |
 |
Dr. Chai Kok Soon is a pioneer and section manager
for the embedded software group, Plexus Technology Group in Penang,
Malaysia. He is leading a team of software engineers designing
automotive, medical and networking products for US companies. Prior to
joining Plexus, he worked at design centers at Agilent and Motorola. He
was also involved in research projects sponsored by Airbus UK at the
University of Warwick. He is a regular speaker at many conferences. He
pioneers the function-class decomposition and UML for embedded software
design and presented this approach at the Embedded Systems Conference in
Silicon Valley. He obtained a perfect score of 6 out of 6 for the
technical content of the presentation averaging from the feedbacks of
the attendees. He holds a number of publications in international
journal, IEEE conferences, Motorola Software, Systems and Simulation
(S3) conference, and a US patent application. He holds a PhD in
Engineering from the University of Warwick, UK. |
| |
|
 |
Bikesh is co-founder of iTrain, a firm dedicated to
delivering real world based training content to corporate and government
agencies. Graduating from Universiti Sains Malaysia (USM) with his
bachelors degree in computer science, he is currently working on his
masters research with University of Malaya (UM) and University of Kyoto,
Japan on Collaborative Team Development. Bikesh has the technical
expertise in a vast variety of programming languages, development tools
and software process models. He holds an MSF Practitioner along with an
ITIL Foundations Certificate. With over 10 years of training and
development experience in the IT industry, and being an early adopter of
.Net, he is now conducting projects to promote secure coding and
programming best practices among government agencies in Malaysia with
collaborative efforts of Microsoft, HP and INTAN. |
For registration, please contact us at
(+603)2166 1879 or Email
info@itrain.com.my
|
|