Title: The Experimental Training Course
1The Experimental Training Course
SE MSF .NET
2Authors of the Presentation
- Nikita I Boyko, mboyko_at_acm.org
- Alexey G Dubinsky, dubinsky_at_ukr.net, Associate
Professor, PhD, Dnipropetrovsk National
University - Irina V Mozgovaya, mir_ra_at_mail.ru, Associate
Professor, PhD, Dnipropetrovsk National
University - Vladimir L Pavlov, vlpavlov_at_ieee.org, Intel
- Alexandr D Firsov, phirsof_at_mail.ru, Associate
Professor, PhD, Dnipropetrovsk National University
3Agenda
- Introduction
- Course Content
- How We Developed The Course
- Conclusions
4History of the SE MSF .NET Course
- July 2003 N. Boyko (mboyko_at_acm.org) and V.
Pavlov (vlpavlov_at_ieee.org) came up with the idea
to create the course - Project team was formed
- The course was given a name SE MSF .NET
- August 2003 open rehearsal of lectures began
- September 2003 pilot lecturing began
- February 2004 student teams started to work on
course projects - June 2004 exam
5Real World Practical Demands
- Many representatives of Ukrainian and Russian
software development companies consider that IT
graduates must - possess knowledge of contemporary software
development processes understand how software is
developed and created - be familiar with modern concepts of software
testing, configuration management, requirement
management, etc. - posses skills and knowledge of software
development techniques, UML, CASE-tools - know technical English
6ACM
- Association for Computing Machinery
- Founded in 1947
- More than 75,000 members
- More than 100 conferences conducted annually
- More than 25 periodicals
- International collegiate programming contests
- http//www.acm.org
7IEEE-CS
- Institute of Electrical and Electronic Engineers
Computer Society - More than 100,000 members
- More than 140 conferences conducted annually
- More than 20 periodicals
- http//www.ieee.org
- http//www.computer.org
8Computing Curricula 2001
- The first attempt to create computing curricula
recommendation for Computer Science was
undertaken by ACM in 1968, the second version was
published in 1978. - IEEE-CS the same steps were undertaken in 1977
and 1983 - At the end of 1980s ACM and IEEE-CS teamed up
and released a Computing Curricula in 1991 - 2001 the last version was released
- http//www.computer.org/education/cc2001
- In 2002, Saint Petersburg State University
(Russia) published the translation of ??2001-CS
in Russianhttp//se.math.spbu.ru/cc2001
9C?2001 Structure
- ?? 2001 consists of 5 volumes
- Computer Science
- Software Engineering
- Computer Engineering
- Information Systems
- Overview
10The Diversity of the Computing Field
Software Engineering
SE
SE MSF .NET
CS
IS
Information Systems
Computer Science
CE
Computer Engineering
11Software Engineering in ??2001CS
- Core disciplines
- SE1. Software design
- SE2. Using APIs
- SE3. Software tools and environments
- SE4. Software processes
- SE5. Software requirements and specifications
- SE6. Software validation
- SE7. Software evolution
- SE8. Software project management
- Elective disciplines
- SE9. Component-based computing
- SE10. Formal methods
- SE11. Software reliability
- SE12. Specialized systems development
12Characteristics of CS Graduates
- Section 11.1 of the ??2001-CS lists the five
major characteristics that a CS-graduate must
possess - One of the five characteristics is significant
project experience - To ensure that graduates can successfully apply
the knowledge they have gained, all students in
computer science programs must be involved in at
least one substantial software project. Such a
project demonstrates the practical application of
principles learned in different courses and
forces students to integrate material learned at
different stages of the curriculum.
13The Objectives of Our Software Engineering Course
- Introduce students to the core disciplines from
the Software Engineering section of CC2001CS - Train students in Software Engineering methods
using Microsoft Solution Framework as an example - Provide the experience of working on software
projects in a team environment - Teach basic knowledge of the Microsoft .NET
Framework
14The extract from the list of skills that a
Ukrainian university graduate must posses.
Specialty 7.080403 Software Development for
Automatic Control Systems
Module abbreviation Module Name
??.11 Software Development Life Cycle
??.50 Object-Oriented Approach to Software Development
??.52 Financial Planning and Analysis of Software Projects
??.61 Document Flow Management for Software Development Projects
??.77 Project Management
15Some Related Courses
- Course that is based on Ian Sommervilles
classical book - http//www.comp.lancs.ac.uk/computing/resources/Ia
nS/SE6/Slides/index.html - A number of universities (for example Saint
Petersburg State University, Russia) build their
courses using these materials - Microsoft training courses
- 1846 Microsoft Solutions Framework Essentials
- http//www.microsoft.com/traincert/syllabi/1846AFi
nal.asp - 2710 Analyzing Requirements and Defining
Microsoft .NET Solution Architectures - http//www.microsoft.com/traincert/syllabi/2710bfi
nal.asp
16Agenda
- Introduction
- Course Content
- How We Developed The Course
- Conclusions
17The CC2001CS standard
Course SE MSF.NET
Software Engineering
Knowledge of Software Engineering
MSF
Teamwork in a software project
Project experience
.NET
18Microsoft Solutions Framework
- There is a number of software project management
methodologies (RUP, MSF, CDM, XP etc.) - We have chosen Microsoft Solutions Framework
(MSF) - flexibility and scalability
- totally free
- the whitepapers have been translated into Russian
- http//www.microsoft.com/rus/msf
- two of the project participants are Microsoft
Endorsed MSF Practitioners
19What is MSF?
- The MSF is a collection of Microsoft's proven
practices on managing successful IT projects - Microsoft barely markets MSF, and they do not
sell it. Instead, Microsoft focuses on making
money USING MSF - Microsoft initially made MSF available in 1994.
The latest version of MSF is 3.0 it was released
in 2002. Like Windows, or any other products, MSF
evolves and matures as long as new versions are
released - All MSF-related materials are open for public
access. Besides this, anyone can download the set
of templates of all the documents used in MSF
projects for free
20MSF Process Model
Deployment complete
Deployment Stable Interim Milestone
Core Team Organized
Site Deployments Complete Interim Milestone
Vision/Scope Drafted
Core Components Deployed
Release Readiness Approved
Vision/Scope Approved
Technology Validation
Functional Specification Baselined
User Acceptance Testing Complete
Release Candidates
Master Plan Baselined
Master Schedule Baselined
Development and Test Environment Set Up
Scope Complete
Project Plans Approved
Proof of Concept Complete
Internal Build 1 Complete
Internal Build 2 Complete
Internal Build n Complete
21MSF Team Model
Project managementSolution architectureProcess
assuranceAdministrative services
Technology consultingImplementation
architecture and designApplication
developmentInfrastructure development
Business valueMarketingCustomer
advocacyProduct planning
Test planningTest engineeringTest reporting
AccessibilityInternationalizationUser
advocacyTraining/support materialUsability
research and testingUser interface design
InfrastructureSupportOperationsLogisticsCommer
cial release management
22MSF Project Management Discipline
Procurement Management
Risk Management
Communications Management
Human Resource Management
Integration Management
Cost Management
Time Management
Scope Management
Bridge between MSF and PMBOK
Quality Management
Team Leads
Program Management
Product Management
Development
Test
User Experience
Release Management
at overall project level
at sub-team level
23MSF Risk Management Discipline
2
Analyze and Prioritize
Risk Statement
1
Identify
Master Risk List
3
5
Plan and Scedule
Control
Top Risks
6
Learn
Track and Reprt
RiskKnowledge Base,
4
24MSF Readiness Management Discipline
Define
KnowledgeSkillsAbilities
Assess
Evaluate
Change
25Why .NET?
- For implementing software solutions, students
need an appropriate development framework - A typical situation is modeled an IT specialist
needs to become familiar with new technology in
bounded terms - .NET is a new technology promoted by Microsoft
- Advantages
- actively promoted by Microsoft
- will be highly used in the nearest future
- Students learn only those elements of .NET
Framework which are required for working on
practical tasks
26Pilot Deployment of the Course
- Department of Applied Mathematics of
Dnipropetrovsk National University - Chairs
- Software Development
- Computational Mathematics and Mathematical
Cybernetics (CMMC) - Course System Analysis and Design of
Informational Systems
27First Attendees of the Course
- 4th year students of the Department of Applied
Mathematics, Dnipropertrovsk National University - Specialties
- Software Development for Automatic Control
Systems - Intellectual Decision Making Systems
28Classes are Lectured by the Department of Applied
Mathematics Faculty
Lectures Chair of CMMC N. Boyko K. Runduyev Chair of Software Development I. Mozgovaya Lab work Chair of CMMC A. Firsov Chair of Software Development O. Beloborodko
29The Course is Planned for Two Semesters
- 1st semester
- 9 lectures
- 9 lab classes
- 2nd semester
- 17 lectures
- 17 lab classes
3026 Lectures
- Software Engineering 12
- MSF-based Project Management 8
- .NET Technologies 3
- Additional Topics 3
3126 Classes in the Departments Laboratory
- 9 classes lab work on .NET using web-based
technologies (HTML, SOAP) - 17 classes team work on projects
32Material Distribution among Semesters
- Fall (the first) semester of 2003/2004
- Familiarizing with .NET
- Specific topics of SE and MSF
- 3 lab tasks
- Spring (the second) semester of 2003/2004
- Profound topics of SE
- Detailed study of MSF
- Course project
33Lectures that the Students Attend During the
First Semester
- Course introduction
- Microsoft .NET Framework review
- UML language review
- Project Management in IT.
- The review of Web-service based architecture. XML
and SOAP - MSF Team Model
- Risk management in IT-projects
- The Envisioning phase of the MSF Process Model
- The Planning phase of the MSF Process Model
34Lectures that the Students Attend During the
Second Semester
- Course Review
- Conceptual, Logical and Physical Design in the
MSF Process Model - Design Patterns
- UML Meta Model
- The Development Phase in the MSF Process Model
- The Stabilizing Phase in the MSF Process Model
- Software Testing
- The Deployment Phase in the MSF Process Model
35Lectures That the Students Attend During the
Second Semester (2)
- Management in IT-operations. Overview of ITIL and
MOF - Integrated Development Environments (IDEs)
- Managing Security Requirements. Security in .NET
- Creating Windows Applications in .NET
- Employment in IT. Professional Ethics
- Rational Unified Process
- Agile Processes, eXtreme Programming
- SW/CMMCMMI
- Overview of Component Software Development
(CORBA, COM, RMI, Advanced Aspects of .NET
Programming)
36Feedback From Students
- The course is interesting, useful and unusual
- Students like that the course contains plenty of
information about contemporary achievements and
tendencies in the IT-industry - Students of the course often feel as if they have
read the table of contents, but not the book
itself
37Feedback From Students (2)
- The scope of the course is very broad and does
not allow them to learn many areas deeply, even
though details are important in programming - Students appreciate that they do not need to
write the lectures down leaving more time for
absorbing information - Some students, however, do need to write the
lecture down sometimes people remember
information better while writing
38Lab Tasks of the 1st Semester
- Three compulsory lab tasks
- Create a small (static) web-site using XML
- Expand the site with database interaction
- Create web-services
39Lab Tasks of the 2nd Semester
- Complete a course project
- Work in a team of 5-8 students
- The team performs its work in compliance with
MSF methodology - The team reports the status to the supervisor on
a regular basis - At the end of the 2nd semester student teams
compete in a contest
40Student Projects
- Requirements
- The project must not be for profit
- The result of the project must be useful for the
university - .NET technologies must be used
- Potential customers
- Deans office
- University department
- Lyceum of Information technology
41Student Documentation
42Master Risk List
43A Use-case Diagram
44Every Student Receives
- Presentation handouts for each lecture
- Additional materials for every lecture
(hardcopies of referenced articles, printouts of
diagrams, etc.) - CD that contains materials on software
engineering - CD that contains necessary .NET-related
materials (including free software)
45CD 1 Informational Resources on Software
Engineering
- Materials on Software Engineering, including
- SWEBOK Standard
- Ion Sommervillels presentations to his course
Software Engineering - Materials on UML, including
- UML and SPEM standards
- Materials on MSF, including
- MSF whitepapers in Russian and English languages
- Document templates for MSF-based projects
- A video presentation of the MSF overview lecture
- Materials on CMM, including
- SW-CMM and CMMI official CMU SEI documentation
- Other resources
- Materials on RUP, Agile, etc.
46CD 2 Resources on Microsoft .NET
- Installation packages
- MSDE 2000 SP3
- Microsoft .NET Framework SDK 1.1
- Microsoft Web Matrix (the latest available
version) - SharpDeveloper (the latest available version)
- Additional materials
- Off-line copies of useful web-resources
- Current C language ISO standard
- Current HTML and XML W3C standards
- Current CLI ISO standard
47Students Knowledge Control
- Regular control (quizzes during lectures)
- Midterm control (midterm examination and quizzes)
- Laboratory tasks (1st term)
- Course project (2nd term)
- The course peaks with the exam. Three questions
- Software Engineering
- MSF
- Microsoft .NET Framework and ASP.NET
48Possible Alternatives for the Examination
- A student, who successfully passes an approved
certification exam before April 15th, is exempt
from the course exam - IBM 486 Object-Oriented Analysis and Design with
UML - MS 74-100 Microsoft Endorsed MSF Practitioner
Exam - . . .
49Knowledge Transfer
- While working on the course one of the team
members (a university lecturer) passed his exams
and became a Microsoft Endorsed MSF
Practitioner, another team member (a student)
became a Microsoft Certified Solutions Developer
(MCSD) for .NET
50Encouraging the Students
- A Prize CD, which contains a video of recognized
professional lectures, is given to students who
finish their laboratory tasks first - Department competition among student projects
- Winners will receive a prize - a set of IT books
51Agenda
- Introduction
- Course content
- How We Developed The Course
- Conclusions
52The Training Course SE MSF.NET
- Has been created by the following 12 people O.
Biloborodko, N. Boyko, A. Dubinsky, S.Zemlyana,
E.Kolesnikova, D.Malenko, I.Mozgova, V.Pavlov,
O.Pylypenko, K.Runduev, O.Fedorenko, A.Firsov
under the leadership of vice president of the
Managers Union of Dnipropetrovsk, CTO of eLine
Software V.Pavlov - Sponsored by The Managers Union of
Dnipropetrovsk - Please send your comments on this course to
se.msf.net_at_elinesoftware.com
53Managers Union Support
- Student kits
- Presentation handouts for every lecture
- Students CDs
- Computers are upgraded in a Department's lab
- Purchasing books for the Department's library
54What is a Project?
- A project is a temporary venture, with a finite
beginning and end, whose goal is to create a
unique product or service - Project management is an independent discipline
that has been rapidly developing throughout the
last decades - Constraints budget, schedule, quality
- Project Management methods
55Course Development as a Project
- The development of the course is considered to be
a project - It is reasonable to use project management
methodologies in our case - We have chosen MSF (see slide 16)
- Are there any specifics?
- Similarity to software projects
- Adaptation is necessary
- MSF has been reworked
56MSF Adaptation for the Educational Project
- Modified Team Model
- Completely different Process Model
- Project and Risk Management disciplines have
undergone minor changes
57Traditional MSF Team Model
Stakeholder
Product Management
Customer
Project Team
6
Program Management
Project Sponsor
Development
Role Cluster
External Stakeholder
User Experience
User
Testing
Release Management
Maintenance
58Adapted Team Model
Stakeholder
Coordination
Sponsor
Project Team
Teacher care
Teacher
7
Student care
Development
Student
Role Cluster
External Stakeholder
Potential Employer
Business care
Testing
Institutionalization
University
59Role Clusters
- Coordination
- coordinating the teamwork and managing schedule
and budget constraints - Institutionalization
- correspondence to educational standards and
coordination with other courses - Teacher-care
- assurance that training materials are complete
enough for teaching the course
60- Student-care
- the course is designed to be interesting and
understandable for students as well as useful for
their future careers - Business-care
- students are to acquire the necessary skills and
qualities to attract potential employers - Development
- creating training materials, quizzes and
laboratory tasks - Testing
- verification that the quality of the course
corresponds to predetermined norms and
requirements
61Project Outputs
- Project vision/scope
- Course curriculum
- Project structure definition
- Presentations for all lectures and laboratory
work, additional materials - Template
- Recommendation
- Trainer's CD contains current versions of these
materials - A new version of the CD is released every two
weeks on a regular basis
62Testing
- Careful testing of the outputs is one the most
important constituents of the project work - The team performs continual testing of the course
materials in open lectures - the lecture rehearsal is conducted by the author
and the tester of the course team - open lectures occur once a week on weekends
- IT-specialists and university lecturers from
Dnipropetrovsk and other Ukrainian cities are
invited to the lecture rehearsals
63Lecture Lifecycle
- An author creates an initial version
- A tester submits remarks on how to improve the
lecture, and then the author revises it - At a general project group meeting, the lecture
is discussed and the author revises it again - Open rehearsal is conducted
- After an open lecture rehearsal, the author
revises it taking feedback into account - A proofreader corrects the presentation
- External peer-review is conducted
- The lecture is corrected accounting for the notes
from external reviewers - Perhaps we are to involve a graphical designer?
64External Review
- Another quality assurance procedure is the
reviewing of created materials - The course curriculum has been successfully
reviewed by professionals from a number of
top-rated American, Russian and Ukrainian
universities - Currently the lectures of the first term are
being reviewed
65Risks
- Project risk is an uncertain event or condition
that, if occurs, has a positive or negative
effect on project objectives (PMBOK) - Being unmanaged, risks can become problems
- Risk analysis is performed according to the MSF
Risk Management Discipline - A number of obstacles, that could have hampered
the success of the project, have been identified - Measures have been planned and taken to minimize
or abolish major risks
66Some Results of Risk Analysis
- OBSTACLE There is no projector for showing Power
Point presentations at the department auditoriums
- SOLUTION Before each lecture students get
individual kits with printed handouts - OBSTACLE The time in a computer auditorium is
limited some students do not have Internet
access - SOLUTION Each student gets two CDs with free
software and additional course materials
including the copies of useful web-sites - OBSTACLE The university library does not have
enough books and manuals for the course - SOLUTION Necessary books have been bought for
the departments library - OBSTACLE computers in the laboratory of the
Applied Mathematics department do not have enough
memory for using Microsoft .NET Framework - SOLUTION Additional memory has been installed
67Agenda
- Introduction
- Course content
- How We Developed The Course
- Conclusions
68Research Project
- While working on the course, an idea was born to
conduct research on formalizing MSF using SPEM - Its result has been reported at the Moscow State
University conference which took place on March
4th, Moscow, Russia
69The Evolution of the Course
- This course is supposed to be a basis for a set
of the following courses - Software Engineering
- IT-Project Management using Microsoft Solution
Framework - IT-operations Management
- Object Oriented Analysis and Design Using UML
Language - Object Oriented Programming in C Language
70The Discussion of the Course
- The Guild of Certified Professionals,
Dnipropetrovsk, Ukraine, November 17th, 2003 - International conference "United Information
Space", Dnipropetrovsk, Ukraine, December
3rd-4th, 2003 - Microsoft Workshop "Contemporary Technologies and
their Training Approach". Nizhniy Novgorod, NNGU,
February 14th, 2004, Moscow, Russia, February
16th, 2004 - Workshop Teaching IT in Ukrainian Universities",
Dnipropetrovsk, Ukraine, March 30th, 2004 - Report on Microsoft Research Academic Days -
St. Petersburg, Russia, April 22nd, 2004
71Conclusion
- The course of Software Engineering is being
developed at Dnipropetrovsk National University
(DNU, Ukraine) the course covers all core SE
disciplines from the IEEE / ACM Computing
Curricula 2001 Computer Science volume - The participants of this project organized their
efforts by adapting contemporary project
management approaches
72You can download this presentation from
- http//www.it-education.ru
- http//www.vlpavlov.com
73Questions?
? ? ?
74The picture of the space ship Ocean-O is used
in the background. Such satellites are
manufactured at the Ukrainian factory UMZ,
located in Dnipropetrovsk