Title: An Overview of activities on Tempus project
1An Overview of activities on Tempus project
- Zoran Budimac, Klaus Bothe
2Reminder
- To develop joint master studies in software
engineering for - 4 different institutions
- of two different kinds (2 science, 2 technical)
- in two different countries
- under two different laws in both countries
- and changing legislative rules
3Problems four institutions
- Create a firm joint course
- Accepted in all four institutions
- Allowing them to introduce their own expertise
and compatibility with existing studies - Keeping it
- Introduce enough flexibility
4Problems different and changing laws
- Our studies will last for 3 semesters
- What if someone (government, university,
department) force us to adopt 32 or 41 scheme? - Think of exit strategy right now.
5Plans
Basic principles, duration, value,
Analysis of existing curricula, defining our own
Workshop, October 2005
Creation and provision of teaching materials
Administrative procedures to accept curriculum
6Reality
Many principles already fixed in local university
laws and university regulations
Basic principles, duration, value,
Analysis of existing curricula, defining our own
Workshop, October 2005
Analysis took less than expected
Creation and provision of teaching materials
Administrative procedures to accept curriculum
7Reality
Many principles already fixed in local university
laws and university regulations
Basic principles, duration, value,
Analysis of existing curricula, defining our own
Workshop, October 2005
Analysis took less than expected
Creation and provision of teaching materials
Administrative procedures to accept curriculum
8Basic principles
- The value of master studies will be 90 ECTS
credits. - The studies will be organized into three
semesters. - One academic year consists of two semesters and
is lasting for 30 weeks (1 semester 15 weeks). - The first two semesters will consist of lectures,
while the third one will be devoted to the final
project/thesis. - Induction Layer A couple of introductory modules
will be offered before the 1st semester for
students without enough pre-knowledge - First semester Core (obligatory) modules (30
ECTS) - Second semester Mainly elective modules (30
ECTS) - Third semester Final project (30 ECTS)
- 1 ECTS credit is worth 20 hours of student's
workload. - There are 21 - 24 contact hours per week.
9Induction layer
- Introduction to software engineering (SE-IN-01)
- Principles of programming, coding and testing
(SE-IN-02) - Project management (SE-IN-03)
- System modelling and design (SE-IN-04)
10Core modules 1st semester
- System integration and reuse (SE-I-01)
- Privacy, ethics and social responsibilities
(SE-I-02) - Requirement engineering (SE-I-03)
- Research methods (SE-I-04, part 1)
- The management of system development process
(SE-I-05)
112nd semester
- Software Engineering for Critical Systems
(SE-II-01) - Software evolution (SE-II-02)
- Formal Methods Engineering (SE-II-03)
- Component-Based development (incl. Design
patterns) (SE-II-04) - Software testing (SE-II-05)
- Business modelling (SE-II-06)
- Applied system thinking (SE-II-07)
- E-Business (SE-II-08)
- Business process re-engineering (SE-II-09)
- Service quality management (SE-II-10)
- Research methods (SE-I-04, part 2, directed to
the project)
12Project
- Detailed project descriptions are made available
to students at the beginning of the curriculum
but they start working on it in 3rd Semester. - Some suggested projects are
- Electronic Patient Records
- Electronic purse
- Flight Control Systems
- E-voting System
13Course content (module template)
- SOFTWARE TESING (SE-II-05)
- AIMSWith the growing significance of computer
systems within industry and wider society,
techniques that assist in the production of
reliable software are becoming increasingly
important.The complexity of many computer systems
requires the application of a battery of such
techniques. Two of the most promising approaches
are formal methods and software testing.
Traditionally formal methods and software testing
have been seen as rivals. Thus, they largely
failed to inform one another and there was very
little interaction between the two communities.
In recent years, however, a new consensus has
developed. Under this consensus, these approaches
are seen as complementary. This has lead to work
that explores ways in which these approaches
complement.The use of a formal specification or
model eliminates ambiguity and thus reduces the
chance of errors being introduced during software
development. Where a formal specification exists,
boththe source code and the specification may be
seen as formal objects that can be analysed and
manipulated. The use of a formal specification
introduces the possibility of the formal
and,potentially, automatic analysis of the
relationship between the specification and the
source code. This is often assumed to take the
form of a proof, but such a proof cannot
guarantee operationalcorrectness. For this
reason, even where such a proof exists, it is
important to apply dynamic testing.Software
testing is an important and, traditionally,
extremely expensive part of the software
development process. Studies suggest that testing
often forms in the order of fifty percent ofthe
total development cost. Where formal
specifications and models exist, these may be
used as the basis for automating parts of the
testing process. This may lead to more efficient
and effective testing. It may thus transpire that
the automation of parts of the software testing
process is one of the most significant benefits
of using a formal specification language. The
links between testing and formal methods do,
however, go well beyond generating tests from a
formal specification.This module aims to
introduce and critically analyse current
techniques for software testing, in particular
the importance of formal methods towards this
goal.
14- LEARNING OUTCOMESCritically evaluate the
importance of software testingAppreciate the
need and usefulness of formal methods fpr the
testing process.Develop an integrated approaches
for software testing and formal theories. - SYLLABUS CONTENTIntroduction to testing
fundamentalsStructural testingFunctional
testingFoundation for combining formal methods
and testingModel base formal methodsFinite state
machine based testingTesting from a process
algebraAlgebraic specifiucation testingTesting
with UML's Dynamic modelsTemporal logic, Model
checking and their role in testingThe management
process of software testing
15Workshop in NS final decision
- What can be expected?
- Move some modules from 2nd to 1st semester
- Add new? (i.e., to cover design in core modules)
- Add new, locally available?
- GIS
- Cryptography
-
- Organize 2nd semester courses into strands?
- http//perun.im.ns.ac.yu/msc-se/