750 likes | 992 Views
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
E N D
The Experimental Training Course SE MSF .NET
Authors of the Presentation • Nikita IBoyko, mboyko@acm.org • Alexey GDubinsky, 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
Agenda • Introduction • Course Content • How We Developed The Course • Conclusions
History of the SE MSF .NET Course • July 2003 – N. Boyko (mboyko@acm.org)andV. 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
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
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
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
Computing Curricula 2001 • The first attempt to create computing curricula recommendation for Computer Science was undertaken by ACMin 1968, the second version was published in 1978. • IEEE-CS – the same steps were undertaken in 1977 and 1983 • At the end of1980’s ACM andIEEE-CS teamed upandreleaseda 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
CС2001 Structure • СС 2001 consists of 5 volumes: • Computer Science • Software Engineering • Computer Engineering • Information Systems • Overview
The Diversity of the Computing Field Software Engineering SE SE MSF .NET CS IS Information Systems Computer Science CE Computer Engineering
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
Characteristics of CS Graduates • Section 11.1 of the СС2001-CS liststhe fivemajor characteristics that aCS-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.
The Objectives of Our Software Engineering Course • Introduce students to the core disciplines from the Software Engineering section of CC2001:CS • 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
The extract from the list of skills that a Ukrainian university graduate must posses. Specialty “7.080403 – Software Development for Automatic Control Systems”
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 Anumber of universities (for example Saint Petersburg State University, Russia) build their courses using these materials • Microsofttraining 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
Agenda • Introduction • Course Content • How We Developed The Course • Conclusions
The CC2001:CS standard Course SE MSF.NET Software Engineering Knowledge of Software Engineering MSF Teamwork in a software project Project experience .NET
Microsoft Solutions Framework • There is a number of software project management methodologies (RUP, MSF, CDM, XP etc.) • We have chosen MicrosoftSolutions 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
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 • AllMSF-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
Bug Convergence Zero Bug Bounce Pilot Complete Pre-Production Test Complete MSF 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
Program Management ProductManagement Development UserExperience Test ReleaseManagement MSF 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 InfrastructureSupportOperationsLogisticsCommercial release management
MSF Project Management Discipline Risk Management Procurement Management Communications Management Human Resource Management Integration Management Time Management Cost Management Scope Management “Bridge” betweenMSF and PMBOK Quality Management at overall project level at sub-team level
MSF 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
MSF Readiness Management Discipline Define KnowledgeSkillsAbilities Assess Evaluate Change
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
Pilot Deployment of the Course • Department of Applied Mathematicsof Dnipropetrovsk National University • Chairs: • Software Development • Computational Mathematics and Mathematical Cybernetics (CM&MC) • Course“System Analysis and Design of Informational Systems”
First 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
Classes are Lectured by the Department of Applied Mathematics Faculty
The Course is Planned for Two Semesters • 1st semester: • 9lectures • 9lab classes • 2nd semester: • 17 lectures • 17 lab classes
26 Lectures • Software Engineering – 12 • MSF-based Project Management – 8 • .NET Technologies– 3 • Additional Topics – 3
26 Classes in the Department’s Laboratory • 9 classes – lab workon .NET usingweb-based technologies (HTML, SOAP) • 17 classes – team work on projects
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
Lectures 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
Lectures 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
Lectures 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/CMM+CMMI • Overview of Component Software Development (CORBA, COM, RMI, Advanced Aspects of .NET Programming)
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
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
Lab Tasks of the 1st Semester • Three compulsory lab tasks • Create a small (static) web-siteusingXML • Expandthe sitewith database interaction • Createweb-services
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 withMSF 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
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
Student Documentation A Vision Scope document
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)
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.
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
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: • Software Engineering • MSF • Microsoft .NET Framework and ASP.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” • . . .
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
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