se msf net en
Shared by: B898s5U
-
Stats
- views:
- 3
- posted:
- 11/10/2011
- language:
- English
- pages:
- 74
Document Sample


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 2
Course SE MSF.NET
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 4
Course SE MSF.NET
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 5
Course SE MSF.NET
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 6
Course SE MSF.NET
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 7
Course SE MSF.NET
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 8
Course SE MSF.NET
CС2001 Structure
СС 2001 consists of 5 volumes:
• Computer Science
• Software Engineering
• Computer Engineering
• Information Systems
• Overview
An Experimental Training 9
Course SE MSF.NET
The Diversity of the Computing Field
Software Engineering
SE MSF .NET
SE
Information Systems
Computer Science
CS IS
CE
Computer Engineering
An Experimental Training 10
Course SE MSF.NET
Software Engineering in
СС2001:CS
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
An Experimental Training 11
Course SE MSF.NET
Characteristics 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.
An Experimental Training 12
Course SE MSF.NET
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 13
Course SE MSF.NET
The extract from the list of skills that a Ukrainian university
graduate must posses. Specialty “7.080403 – Software
Development for Automatic Control Systems”
Module Module Name
abbreviation
ПП.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 15
Course SE MSF.NET
Agenda
1) Introduction
2) Course Content
3) How We Developed
The Course
4) Conclusions
An Experimental Training 16
Course SE MSF.NET
The CC2001:CS Course SE MSF.NET
standard
Software
Engineering
Knowledge of
Software
Engineering MSF
Teamwork in
a software
Project project
experience
.NET
An Experimental Training 17
Course SE MSF.NET
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 18
Course SE MSF.NET
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 19
Course SE MSF.NET
MSF Process Model
Deployment
complete
Deployment Stable Interim Milestone
Site Deployments Core Team Organized
Complete Interim Milestone
Vision/Scope Drafted
Core Components Deployed
Release Readiness Vision/Scope
Approved Approved
Pilot Complete
Technology Validation
User Acceptance Testing Complete Functional Specification
Pre-Production Test Complete Baselined
Release Candidates Master Plan Baselined
Zero Bug Bounce Master Schedule Baselined
Bug Convergence Development and Test
Environment Set Up
Scope
Project Plans Approved
Complete
Proof of Concept Complete
Internal Build 1 Complete
Internal Build 2 Complete
Internal Build n Complete
An Experimental Training 20
Course SE MSF.NET
MSF Team Model
Project management
Solution architecture
Process assurance
Administrative services
Technology consulting
Business value Program Implementation architecture
Marketing Management and design
Customer advocacy Application development
Product planning Infrastructure development
Product
Management Development
User
Experience Test
Test planning
Accessibility Test engineering
Internationalization Release Test reporting
User advocacy
Training/support material
Management
Usability research and testing
User interface design
Infrastructure
Support
Operations
An Experimental Training Logistics 21
Commercial release
Course SE MSF.NET management
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 at sub-team level
An Experimental Training 22
Course SE MSF.NET
MSF Risk Management Discipline
2
Analyze
1 Risk Statement and
Prioritize
Identify Master Risk
5 List 3
Plan and
Control Top Scedule
Risks
6
Learn Track and
Risk
Reprt
Knowledge 4
Base,
An Experimental Training 23
Course SE MSF.NET
MSF Readiness Management
Discipline
Define
Knowledge
Skills
Abilities
Assess
Evaluate
Change
An Experimental Training 24
Course SE MSF.NET
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 25
Course SE MSF.NET
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 26
Course SE MSF.NET
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 27
Course SE MSF.NET
Classes are Lectured by the Department of
Applied Mathematics Faculty
Lectures Lab work
Chair of CM&MC Chair of CM&MC
N. Boyko A. Firsov
K. Runduyev
Chair of Chair of
Software Software
Development Development
I. Mozgovaya O. Beloborod‟ko
An Experimental Training 28
Course SE MSF.NET
The Course is Planned
for Two Semesters
1st semester:
• 9 lectures
• 9 lab classes
2nd semester:
• 17 lectures
• 17 lab classes
An Experimental Training 29
Course SE MSF.NET
26 Lectures
Software Engineering – 12
MSF-based Project Management – 8
.NET Technologies– 3
Additional Topics – 3
An Experimental Training 30
Course SE MSF.NET
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 31
Course SE MSF.NET
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 32
Course SE MSF.NET
Lectures that the Students Attend During
the First Semester
1. Course introduction
2. Microsoft .NET Framework review
3. UML language review
4. Project Management in IT.
5. The review of Web-service based
architecture. XML and SOAP
6. MSF Team Model
7. Risk management in IT-projects
8. The Envisioning phase of the MSF
Process Model
9. The Planning phase of the MSF
Process Model
An Experimental Training 33
Course SE MSF.NET
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 34
Course SE MSF.NET
Lectures That the Students Attend
During the Second Semester (2)
9. Management in IT-operations. Overview of ITIL
and MOF
10. Integrated Development Environments (IDEs)
11. Managing Security Requirements. Security in .NET
12. Creating Windows Applications in .NET
13. Employment in IT. Professional Ethics
14. Rational Unified Process
15. Agile Processes, eXtreme Programming
16. SW/CMM+CMMI
17. Overview of Component Software Development
(CORBA, COM, RMI, Advanced Aspects of .NET
Programming)
An Experimental Training 35
Course SE MSF.NET
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 IT-
industry
Students of the course often feel as if they
have read “the table of contents”, but not
the book itself
An Experimental Training 36
Course SE MSF.NET
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 37
Course SE MSF.NET
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 38
Course SE MSF.NET
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 39
Course SE MSF.NET
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 40
Course SE MSF.NET
Student
Documentation
A Vision Scope
document
An Experimental Training 41
Course SE MSF.NET
Master Risk List
An Experimental Training 42
Course SE MSF.NET
A Use-case Diagram
An Experimental Training 43
Course SE MSF.NET
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 44
Course SE MSF.NET
CD 1 “Informational Resources
on Software Engineering”
Materials on Software Engineering, including
SWEBOK Standard
Ion Sommervillel‟s 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.
An Experimental Training 45
Course SE MSF.NET
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 46
Course SE MSF.NET
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 47
Course SE MSF.NET
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 48
Course SE MSF.NET
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 49
Course SE MSF.NET
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 50
Course SE MSF.NET
Agenda
1) Introduction
2) Course content
3) How We Developed
The Course
4) Conclusions
An Experimental Training 51
Course SE MSF.NET
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 52
Course SE MSF.NET
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 53
Course SE MSF.NET
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 54
Course SE MSF.NET
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 55
Course SE MSF.NET
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 56
Course SE MSF.NET
Traditional
MSF Team
Model Stakeholder
Product
Management Customer
Project
Team
6 Program Project
Management Sponsor
Development
Role External
Cluster User Stakeholder
Experience User
Testing
An Experimental Training 57
Release Management
Course SE MSF.NET Maintenance
Adapted Team
Model Stakeholder
Coordination
Sponsor
Project
Team Teacher
Teacher
care
7
Development Student
care Student
Role Cluster External
Business Potential Stakeholder
care Employer
Testing
An Experimental Training 58
Course SE MSF.NET Institutionalization University
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 59
Course SE MSF.NET
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 60
Course SE MSF.NET
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 61
Course SE MSF.NET
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 62
Course SE MSF.NET
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 63
Course SE MSF.NET
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 top-
rated American, Russian and
Ukrainian universities
Currently the lectures of the first
term are being reviewed
An Experimental Training 64
Course SE MSF.NET
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 65
Course SE MSF.NET
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 66
Course SE MSF.NET
Agenda
1) Introduction
2) Course content
3) How We Developed
The Course
4) Conclusions
An Experimental Training 67
Course SE MSF.NET
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 68
Course SE MSF.NET
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 69
Course SE MSF.NET
The 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
An Experimental Training 70
Course SE MSF.NET
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 71
Course SE MSF.NET
You can download this presentation
from:
http://www.it-education.ru
http://www.vlpavlov.com
An Experimental Training 72
Course SE MSF.NET
Questions?
An Experimental Training 73
Course SE MSF.NET
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 74
Course SE MSF.NET
Get documents about "