The Experimental Training Course SE MSF.NET

advertisement
The Experimental
Training Course
SE MSF .NET
Authors of the Presentation





Nikita I Boyko, mboyko@acm.org
Alexey G Dubinsky, dubinsky@ukr.net,
Associate Professor, PhD, Dnipropetrovsk
National University
Irina V Mozgovaya, mir_ra@mail.ru,
Associate Professor, PhD, Dnipropetrovsk
National University
Vladimir L Pavlov, vlpavlov@ieee.org,
Intel
Alexandr D Firsov, phirsof@mail.ru,
Associate Professor, PhD, Dnipropetrovsk
National University
An Experimental Training
Course SE MSF.NET
2
Agenda
1) Introduction
2) Course Content
3) How We Developed
The Course
4) Conclusions
History of the SE MSF .NET
Course







July 2003 – N. Boyko (mboyko@acm.org) and
V. Pavlov (vlpavlov@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
An Experimental Training
Course SE MSF.NET
4
Real 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
An Experimental Training
Course SE MSF.NET
5
ACM







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
An Experimental Training
Course SE MSF.NET
6
IEEE-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
An Experimental Training
Course SE MSF.NET
7
Computing 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 1980’s 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 Russian
http://se.math.spbu.ru/cc2001
An Experimental Training
Course SE MSF.NET
8
CС2001 Structure

СС 2001 consists of 5 volumes:
•
•
•
•
•
Computer Science
Software Engineering
Computer Engineering
Information Systems
Overview
An Experimental Training
Course SE MSF.NET
9
The Diversity of the Computing Field
Computer Science
SE MSF .NET
SE
CS
IS
Information Systems
Software Engineering
CE
An Experimental Training
Course SE MSF.NET
Computer Engineering
10
Software Engineering in
СС2001:CS

Core disciplines:









SE1.
SE2.
SE3.
SE4.
SE5.
SE6.
SE7.
SE8.
Software design
Using APIs
Software tools and environments
Software processes
Software requirements and specifications
Software validation
Software evolution
Software project management
Elective disciplines:




SE9. Component-based computing
SE10. Formal methods
SE11. Software reliability
SE12. Specialized systems development
An Experimental Training
Course SE MSF.NET
11
Characteristics of CS Graduates


Section 11.1 of the СС2001-CS lists the
five major characteristics that a CSgraduate 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.
An Experimental Training
Course SE MSF.NET
12
The Objectives of Our
Software Engineering Course
1. Introduce students to the core disciplines
from the Software Engineering section of
CC2001:CS
2. Train students in Software Engineering
methods using Microsoft Solution
Framework as an example
3. Provide the experience of working on
software projects in a team environment
4. Teach basic knowledge of the Microsoft
.NET Framework
An Experimental Training
Course SE MSF.NET
13
The 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
Some Related Courses

Course that is based on Ian Sommerville‘s
classical book:
http://www.comp.lancs.ac.uk/computing/resources
/IanS/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/1846AFinal.asp
• 2710 “Analyzing Requirements and Defining
Microsoft .NET Solution Architectures”
http://www.microsoft.com/traincert/syllabi/2710bfinal.asp
An Experimental Training
Course SE MSF.NET
15
Agenda
1) Introduction
2) Course Content
3) How We Developed
The Course
4) Conclusions
An Experimental Training
Course SE MSF.NET
16
The CC2001:CS
standard
Knowledge of
Software
Engineering
Project
experience
Course SE MSF.NET
Software
Engineering
MSF
Teamwork in
a software
project
.NET
An Experimental Training
Course SE MSF.NET
17
Microsoft 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
An Experimental Training
Course SE MSF.NET
18
What 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
An Experimental Training
Course SE MSF.NET
19
MSF Process Model
Deployment Stable Interim Milestone
Site Deployments
Complete Interim Milestone
Core Components Deployed
Release Readiness
Approved
Pilot Complete
User Acceptance Testing Complete
Pre-Production Test Complete
Release Candidates
Zero Bug Bounce
Bug Convergence
Scope
Complete
Deployment
complete
Core Team Organized
Vision/Scope Drafted
Vision/Scope
Approved
Technology Validation
Functional Specification
Baselined
Master Plan Baselined
Master Schedule Baselined
Development and Test
Environment Set Up
Project Plans Approved
Proof of Concept Complete
Internal Build 1 Complete
Internal Build 2 Complete
Internal Build n Complete
An Experimental Training
Course SE MSF.NET
20
MSF Team Model
Project management
Solution architecture
Process assurance
Administrative services
Business value
Marketing
Customer advocacy
Product planning
Program
Management
Technology consulting
Implementation architecture
and design
Application development
Infrastructure development
Product
Management
Development
User
Experience
Test
Accessibility
Internationalization
User advocacy
Training/support material
Usability research and testing
User interface design
Release
Management
An Experimental Training
Course SE MSF.NET
Infrastructure
Support
Operations
Logistics
Commercial release
management
Test planning
Test engineering
Test reporting
21
MSF Project Management Discipline
“Bridge” between
MSF and PMBOK
Team Leads
Program Management
Product Management
Development
Test
User Experience
Release Management
at overall project level
An Experimental Training
Course SE MSF.NET
at sub-team level
22
MSF Risk Management Discipline
2
Analyze
and
Prioritize
Risk Statement
1
Identify
Master Risk
List
5
Control
3
Plan and
Scedule
Top
Risks
6
Learn
Risk
Knowledge
Base,
An Experimental Training
Course SE MSF.NET
Track and
Reprt
4
23
MSF Readiness Management
Discipline
Define
Knowledge
Skills
Abilities
Assess
Evaluate
Change
An Experimental Training
Course SE MSF.NET
24
Why .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
An Experimental Training
Course SE MSF.NET
25
Pilot Deployment of the Course


Department of Applied Mathematics of
Dnipropetrovsk National University
Chairs:
• Software Development
• Computational Mathematics and
Mathematical Cybernetics (CM&MC)

Course “System Analysis and Design
of Informational Systems”
An Experimental Training
Course SE MSF.NET
26
First Attendees of the Course


4th year students of the Department
of Applied Mathematics,
Dnipropertrovsk National University
Specialties:
1. Software Development for Automatic
Control Systems
2. Intellectual Decision Making Systems
An Experimental Training
Course SE MSF.NET
27
Classes are Lectured by the Department of
Applied Mathematics Faculty
Lectures
Lab work
Chair of CM&MC Chair of CM&MC
N. Boyko
K. Runduyev
Chair of
Software
Development
I. Mozgovaya
An Experimental Training
Course SE MSF.NET
A. Firsov
Chair of
Software
Development
O. Beloborod’ko
28
The Course is Planned
for Two Semesters

1st semester:
• 9 lectures
• 9 lab classes

2nd semester:
• 17 lectures
• 17 lab classes
An Experimental Training
Course SE MSF.NET
29
26 Lectures




Software Engineering – 12
MSF-based Project Management – 8
.NET Technologies– 3
Additional Topics – 3
An Experimental Training
Course SE MSF.NET
30
26 Classes in the Department’s
Laboratory


9 classes – lab work on .NET using
web-based technologies (HTML,
SOAP)
17 classes – team work on projects
An Experimental Training
Course SE MSF.NET
31
Material 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
An Experimental Training
Course SE MSF.NET
32
Lectures that the Students Attend During
the First Semester
1.
2.
3.
4.
5.
6.
7.
8.
9.
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
An Experimental Training
Course SE MSF.NET
33
Lectures that the Students Attend
During the Second Semester
1. Course Review
2. Conceptual, Logical and Physical Design in
the MSF Process Model
3. Design Patterns
4. UML Meta Model
5. The Development Phase in the MSF
Process Model
6. The Stabilizing Phase in the MSF Process
Model
7. Software Testing
8. The Deployment Phase in the MSF Process
Model
An Experimental Training
Course SE MSF.NET
34
Lectures That the Students Attend
During the Second Semester (2)
9.
10.
11.
12.
13.
14.
15.
16.
17.
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/CMM+CMMI
Overview of Component Software Development
(CORBA, COM, RMI, Advanced Aspects of .NET
Programming)
An Experimental Training
Course SE MSF.NET
35
Feedback 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 ITindustry
Students of the course often feel as if they
have read “the table of contents”, but not
the book itself
An Experimental Training
Course SE MSF.NET
36
Feedback 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
An Experimental Training
Course SE MSF.NET
37
Lab 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
An Experimental Training
Course SE MSF.NET
38
Lab 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
An Experimental Training
Course SE MSF.NET
39
Student 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
• Dean’s office
• University department
• Lyceum of Information technology
An Experimental Training
Course SE MSF.NET
40
Student
Documentation
A Vision Scope
document
An Experimental Training
Course SE MSF.NET
41
Master Risk List
An Experimental Training
Course SE MSF.NET
42
A Use-case Diagram
An Experimental Training
Course SE MSF.NET
43
Every 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)
An Experimental Training
Course SE MSF.NET
44
CD 1 “Informational Resources
on Software Engineering”

Materials on Software Engineering, including



Materials on UML, 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


UML and SPEM standards
Materials on MSF, including


SWEBOK Standard
Ion Sommervillel’s presentations to his course “Software
Engineering”
SW-CMM and CMMI official CMU SEI documentation
Other resources

Materials on RUP, Agile, etc.
An Experimental Training
Course SE MSF.NET
45
CD 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
An Experimental Training
Course SE MSF.NET
46
Students’ 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:
1. Software Engineering
2. MSF
3. Microsoft .NET Framework and ASP.NET
An Experimental Training
Course SE MSF.NET
47
Possible 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”
• ...
An Experimental Training
Course SE MSF.NET
48
Knowledge 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
An Experimental Training
Course SE MSF.NET
49
Encouraging 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
An Experimental Training
Course SE MSF.NET
50
Agenda
1) Introduction
2) Course content
3) How We Developed
The Course
4) Conclusions
An Experimental Training
Course SE MSF.NET
51
The Training Course SE MSF.NET

Has been created by the following 12 people:
O. Biloborod’ko, 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@elinesoftware.com
An Experimental Training
Course SE MSF.NET
52
Managers 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
An Experimental Training
Course SE MSF.NET
53
What 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
An Experimental Training
Course SE MSF.NET
54
Course 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
An Experimental Training
Course SE MSF.NET
55
MSF Adaptation for the
Educational Project

Modified Team Model

Completely different Process Model

Project and Risk Management
disciplines have undergone minor
changes
An Experimental Training
Course SE MSF.NET
56
Traditional
MSF Team
Model
Stakeholder
Product
Management
Customer
Project
Team
6
Development
Role
Cluster
Program
Management
User
Experience
Project
Sponsor
User
External
Stakeholder
Testing
An Experimental Training
Course SE MSF.NET
Release Management
57
Maintenance
Adapted Team
Model
Stakeholder
Coordination
Project
Team
Sponsor
Teacher
care
Teacher
Student
care
Student
7
Development
Role Cluster
Business
care
Potential
Employer
External
Stakeholder
Testing
An Experimental Training
Course SE MSF.NET
Institutionalization
University
58
Role 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
An Experimental Training
Course SE MSF.NET
59

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
An Experimental Training
Course SE MSF.NET
60
Project 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
An Experimental Training
Course SE MSF.NET
61
Testing


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
An Experimental Training
Course SE MSF.NET
62
Lecture 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?
An Experimental Training
Course SE MSF.NET
63
External Review



Another quality assurance procedure
is the reviewing of created materials
The course curriculum has been
successfully reviewed by
professionals from a number of toprated American, Russian and
Ukrainian universities
Currently the lectures of the first
term are being reviewed
An Experimental Training
Course SE MSF.NET
64
Risks



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
An Experimental Training
Course SE MSF.NET
65
Some 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 department’s
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
An Experimental Training
Course SE MSF.NET
66
Agenda
1) Introduction
2) Course content
3) How We Developed
The Course
4) Conclusions
An Experimental Training
Course SE MSF.NET
67
Research 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
An Experimental Training
Course SE MSF.NET
68
The 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”
An Experimental Training
Course SE MSF.NET
69
The Discussion of the Course





The Guild of Certified Professionals,
Dnipropetrovsk, Ukraine, November 17th, 2003
International conference "United Information
Space", Dnipropetrovsk, Ukraine, December 3rd4th, 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
An Experimental Training
Course SE MSF.NET
70
Conclusion


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
An Experimental Training
Course SE MSF.NET
71
You can download this presentation
from:

http://www.it-education.ru

http://www.vlpavlov.com
An Experimental Training
Course SE MSF.NET
72
Questions?
An Experimental Training
Course SE MSF.NET
73
The picture of the space
ship “Ocean-O” is used
in the background. Such
satellites are
manufactured at the
Ukrainian factory UMZ,
located in Dnipropetrovsk
An Experimental Training
Course SE MSF.NET
74
Download