SlideShare a Scribd company logo
1 of 46
Krešimir Fertalj:
Development of a new course on software
development – a case study
DAAD meeting, May, 19-25 2008, Berlin
DAAD workshop, Sept, 07-14 2008, Durres-Kavaje
2
Fertalj: Development of a new course, DAAD, 2008.
Course: Development of Software Applications
 Short description
 This course elaborates software engineering concepts, principles and
techniques.
 The course studies approaches to the development of end user applications,
including requirements analysis and specification, design and construction of
software components, programming techniques, documentation,
implementation and maintenance of applications.
 Educational goals
 The course will prepare students for development of complex interactive
applications, particularly database applications.
 The course will provide a knowledge for successful design, construction and
implementation of software systems.
 Students will be able to formulate the software requirements and to develop,
implement and maintain quality software built upon different software
architectures.
3
Fertalj: Development of a new course, DAAD, 2008.
The context
 Prerequisites
 Algorithms and Data Structures - explicit
 Databases – implicit for 5th semester
 In practice:
 Lectures 5%, Homework 15%, Tests 30%, Exams 10%+15%+25% points
4
Fertalj: Development of a new course, DAAD, 2008.
5
Fertalj: Development of a new course, DAAD, 2008.
The context – module of software engineering
Semester Course ECTS
Hours per
week
Software Design 8 4
Communication Networks 4 3
V Information Theory 4 3
Automata and Formal Languages 4 3
Ecology and Sustainable Development 2 2
Software Project 8 0
30 15
Development of SW applications 4 3
Programming Paradigms and Languages 4 3
VI Elective course 4 3
Elective course 4 3
Commercial Law 2 2
Baccalaureate Thesis 12 0
30 14
6
Fertalj: Development of a new course, DAAD, 2008.
Selection of literature
 Mandatory textbooks
 Roger S. Pressman: Software engineering: A Practitioner`s Approach,
McGraw-Hill , 2004
 Supplementary textbooks
 Ian Sommerville : Software engineering, Addison-Wesley , 2004
 Steve Mc Connel: Code Complete, Microsoft Press, 2004
 Stephen R Schach: Object-Oriented and Classical Software Engineering,
McGraw-Hill , 2005
 Candidate books (selected for another course, ISD)
 J.A. Hoffer, J.F. George, J.S. Valacich: Modern Systems Analysis and
Design, 4th ed., Prentice Hall, 2004.
 A. Dennis, B.H. Wixom, D.Tegarden: Systems Analysis & Design: An
Object-Oriented Approach with UML, Wiley & Sons, 2002.
 G. B. Shelly, T. J. Cashman, H. J. Rosenblatt: Systems Analysis and
Design, 5th ed, Course Technology, 2003.
7
Fertalj: Development of a new course, DAAD, 2008.
Roger S. Pressman:
Software engineering: A Practitioner`s Approach
Part 1 The Software Process
2 Process: A Generic View
3 Prescriptive Process Models
4 Agile Development
Part 2 Software Engineering Practice
5 Practice: A Generic View
6 System Engineering
7 Requirements Engineering
8 Analysis Modeling
9 Design Engineering
10 Architectural Design
11 Component-Level Design
12 User Interface Design
13 Software Testing Strategies
14 Software Testing Techniques
15 Product Metrics for Software
Part 3 Applying Web Engineering
16 Web Engineering
17 Formulation and Planning for Web
Engineering
...
...
18 Analysis Modeling for Web Applications
19 Design Modeling for Web Applications
20 Testing Web Applications
Part 4 Managing Software Projects
21 Project Management Concepts
22 Process and Project Metrics
23 Estimation for Software Projects
24 Software Project Scheduling
25 Risk Management
26 Quality Management
27 Change Management
Part 5 Advanced Topics in Software
Engineering
28 Formal Methods
29 Cleanroom Software Engineering
30 Component-Based Software Engineering
31 Reengineering
32 The Road Ahead
8
Fertalj: Development of a new course, DAAD, 2008.
Ian Sommerville : Software engineering
INTRODUCTION
Ch 1: Introduction
Ch 2: Socio-technical Systems
Ch 3: Dependability
Ch 4: Software Processes
Ch 5: Project Management
REQUIREMENTS ENGINEERING
Ch 6: Software Requirements
Ch 7: RE Processes
Ch 8: Systems Models
Ch 9: Critical Systems Specification
Ch 10: Formal Specification
DESIGN
Ch 11: Architectural Design
Ch 12: Distributed Systems
Architecture
Ch 13: Application Architectures
Ch 14: Object-oriented Design
Ch 15: Real-time Systems
Ch 16: User Interface Design
SOFTWARE DEVELOPMENT
Ch 17: Iterative Software Development
Ch 18: Software Reuse
Ch 19: CBSE
Ch 20: Critical Systems Development
Ch 21: Software Evolution
VERIFICATION AND VALIDATION
Ch 22: Verification and Validation
Ch 23: Software Testing
Ch 24: Critical Systems Validation
MANAGEMENT
Ch 25: Managing People
Ch 26: Software Cost Estimation
Ch 27: Quality Management
Ch 28: Process Improvement
Ch 29: Configuration Management
Execution
10
Fertalj: Development of a new course, DAAD, 2008.
Contents
 Minimal theory, required to determine practice
 full life cycle, from project initiation, project planning and requirements
specification to controlled applicaton development in teams
 Practice, in feasible quantity
 development of windows programs, database access, distributed
applications (GUI, DAL, BLL)
 windows services (.net), generation of reports (Crystal reports)
 web application development (asp.net), web services (xml)
 mobile applications development (pocket pc, compact framework)
 development of help and documentation, installation procedures
 Team work – solving a real-life project, evaluated on exams
 Problem definition
 Assignment of tasks
 Source code sharing
 Extensive collaboration with lecturer, assistants, and team members !?
11
Fertalj: Development of a new course, DAAD, 2008.
Course execution
 Presence on lectures (5% points)
 students' activity, problem solving – 5%
 disturbance, newspaper reading – 0%
 Homework (15% points)
 individual solutions to project problems (modeling, ...)
 project documentation (plans, specifications, interview, ...)
 team work (programming, components, ... source code control)
 homework is due the end of the actual week (Sunday, 23:59:59)
 Laboratories (non-obligatory)
 1 hour per week, but scheduled for two groups as 2 hours
 student consultations
 students preferred email to lecturer or assistants, usually on weekends
12
Fertalj: Development of a new course, DAAD, 2008.
Evaluation of students
 Tests on computer, "blitz" (30% points)
 "theoretical" (definitions, concepts, but no syntax nor tricky) questions
 3 tests, 10% points each, 20 generated questions, 60 minutes per test
 Interim exam I (10% points)
 project plan
 requirements specification, use cases, conceptual model
 Interim exam II (15% points)
 updated project plan
 design specification, data model, screen shots
 windows application
 Final exam (25% points)
 web application, mobile application, end user documentation
 software validation (view of "end user")
 software verification (control checklist)
 Repeated Final exam
 for students who failed on max 2 components in one cycle
 for ambitious students, willing to repeat one full cycle, but no one applied 
13
Fertalj: Development of a new course, DAAD, 2008.
Grading
 Evaluation of separated team tasks and individual tasks
 Individual component prevails
 At least 50,00 % points of each component required
 Gauss distribution of those who passed
Component Value Times Points Share
Presence on lectures 5 1 5 5.00%
Automated testing 10 3 30 30.00%
Homework 1 15 15 15.00%
I interim exam 10 1 10 10.00%
II interim exam 15 1 15 15.00%
Final exam 25 1 25 25.00%
Total 100 100.00%
14
Fertalj: Development of a new course, DAAD, 2008.
Guidelines and Recommendations
 Material include parts needed for future research, learning and
developing of other projects (eg. graduate thesis).
 Participation on lectures is recommended.
 The examples presented on lectures explain concepts and
standards, not products.
 Students are allowed to use other tools (e.g. Java).
 The examples are not completed solutions or commercial
products, although some of them may look as such.
 Although examples present "how to do" the project, they are not
the cookbook "we always do like that".
 Good will is expected and creativity is wellcome. 
Preparation and execution
16
Fertalj: Development of a new course, DAAD, 2008.
Computer Supported Course
17
Fertalj: Development of a new course, DAAD, 2008.
Computer Supported Teaching and Evaluation
18
Fertalj: Development of a new course, DAAD, 2008.
The project-based concept
 The lectures describe a virtual, but representative, problem
 The students participate in project regarding one real-life problem
 Team work
 15 teams, 7-8 members in team
 no real project management
 teams guided by life-cycle and project document templates
 "jammed" development
• students interfere with each other
• students focused on technology, not the project goals and tasks
 All teams try to solve the same problem
19
Fertalj: Development of a new course, DAAD, 2008.
Representative software example
Partner
PK IdPartnera
TipPartnera
FK1,I1 IdMjestaPartnera
AdrPartnera
FK2,I2 IdMjestaIsporuke
AdrIsporuke
Artikl
PK SifArtikla
U1 NazArtikla
JedMjere
CijArtikla
ZastUsluga
SlikaArtikla
Stavka
PK,FK2,I3,I2 IdDokumenta
PK,FK1,I1 SifArtikla
KolArtikla
JedCijArtikla
PostoRabat
Dokument
PK IdDokumenta
VrDokumenta
BrDokumenta
DatDokumenta
FK2,I4,I2 IdPartnera
FK1,I1,I3 IdPrethDokumenta
PostoPorez
IznosDokumenta
Tvrtka
U1 MatBrTvrtke
I2 NazivTvrtke
Drzava
PK OznDrzave
U1 NazDrzave
ISO3Drzave
SifDrzave
Mjesto
PK,I2 IdMjesta
FK1,I1,I3 OznDrzave
I4 NazMjesta
PostBrMjesta
PostNazMjesta
Osoba
U1 JMBG
PrezimeOsobe
ImeOsobe
20
Fertalj: Development of a new course, DAAD, 2008.
Representative software solution
21
Fertalj: Development of a new course, DAAD, 2008.
Students' project - A real-life problem
22
Fertalj: Development of a new course, DAAD, 2008.
A sophisticated evaluation
 Criteria published two weeks before exam
 Project results uploaded two days before final evaluation
ocjena ekipe ocjena člana bodova kriterij
PlanRazvoja.mpp
Ažurnost plana 3 Sukladnost plana stvarnom stanju (nositelji, status i dovršenost zadataka)
Izvedivost plana 3 Budući zadaci, nositelji, vremenski raspored, opterećenje
SpecifikacijaDizajna.doc
Svrha, kontekst i doseg sustava 0 Ne treba opisivati, jer je definirano u specifikaciji
Dizajn podataka Zajednički model baze podataka (jedna slika)
Podmodeli podataka 5 Atributi, tipovi podataka, oznake zahtijevanih vrijednosti, primarni i strani ključevi
(veze).
Članovi navode tablice zajedničkog modela za koje su pojedinačno nadležni.
Dizajn arhitekture 0 Opis i dizajn korištene arhitekture (model paketa)
Dizajn komponente 5 Dijagram strukture programske komponente za obradu
Dizajn korisničkog sučelja 5 Opis svih objekata grafičkih sučelja (prozora) i akcija. Slike pojedinih prozora.
Tehnika programiranja
Standard nazivlja 3 Specifikacija korištenog nazivlja u bazi podataka i programskom kodu
Obrada iznimki 3 Programska knjižnica/razred za centraliziranu obradu iznimki
Trag izvođenja aplikacije 3 Programska knjižnica/razred za praćenje traga izvođenja aplikacije
Pridržavanje standarda nazivlja 3 Sukladnost definiranom standardu (dosljednost nazivlja varijabli, postupaka,
datoteka, kontrola)
Robustnost aplikacije 3 Ugrađenost obrade iznimki na kritičnim mjestima
Primjena traga izvođenja aplikacije 3 Bilježenje traga uhvaćenih iznimki
Formatiranje izvornog koda 3 Širina i dubina programskih sljedova, poravnanje (uvlačenje) naredbi
Modularnost 3 Veličina postupaka
Deklaracije i inicijalizacija 3 Deklaracije i inicijalizacija programskih varijabli
Čitljivost i razumljivost 3 Smislenost naziva varijabli, slamanje logičkih izraza i dugačkih naredbi, programski
komentari
Funkcionalnost aplikacije
Glavna obrada komponente 20 Obrada oblika zaglavlje-detalji, bez obzira na arhitekturu. Mogućnosti dohvata,
unosa, izmjene i brisanja podataka.
Dodatna funkcionalnost 5 Mogućnost sortiranja, filtriranja podataka, slike, komentari
Navigacija podacima 5 Alatna traka
Validacija 5 Provjera valjanosti ključnih podataka
Odabir vrijednosti vezanih podataka 5 Padajuće liste za odabir vrijednosti stranog ključa
Poziv forme vezanog podatka 5 Poziv forme za odabir vrijednosti stranog ključa
Ulančavanje procedura 10 Podržanost reprezentativnog scenarija
Nefunkcionalna svojstva
Glavni izbornik 3 MDI sučelje, balansirana hijerarhija, popis i raspored otvorenih formi
Raspored, organizacija sučelja 3 Organizacija zaslonske maske (logičko grupiranje, poravnanje, …)
Uvažavanje sadržaja 3 Oponašanje izgleda stvarnih objekata, statusna traka, prikladnost kontrola s obzirom
na tip podatka, dinamički izračun agregiranih vrijednosti
Estetika 3 Preglednost, korištenje pisma i boja
Minimizacija napora 3 Tipke za funkcije obrade, slijed unosa, standardne vrijednosti
Dosljednost sučelja 3 Dosljednost izgleda i ponašanja kontrola i formi, na razini projekta
Prilagođenost korisniku 3 Intuitivan izbornik, lakoća pristupa i obrade (tipke za ubrzani pristup)
Sigurnost i zaštita 3 Autentifikacija korisnika
Arhitektura komponente 20 Dodatna kvaliteta tankog klijenta (10 bodova) ilii višeslojne arhitekture (20 bodova)
UKUPNO 150
team effort
individual effort
grades
23
Fertalj: Development of a new course, DAAD, 2008.
The 1st cycle
24
Fertalj: Development of a new course, DAAD, 2008.
Contents: SDLC, Project, Requirements
 Lectures
 Laboratory
 Interview with real users – a faculty team dealing with education, science
and business
 Homework
 requirements determination, installation of IDE, creation of team solution, ...
Topics slides Theory Practice
Software engineering
fundamentals. Software
development life cycle. Software
68 Introduction, definitions,
life cycle
Introduction to C#
Project definition. Project plan.
Software development
environments. Computer aided
software engineering. Software
version control.
70 Project planning and
trackin, SCM, VSS,
CASE
Object oriented
programming, classes
Requirements Specification. Unified
modeling language basics.
74 Analysis, UML, UC,
SRS
Code-UML, Inheritance
Coding standards. Programming
techniques.
79 Naming, formatting,
style
Defensive programming,
debugging
25
Fertalj: Development of a new course, DAAD, 2008.
Homework Tests
1st interim exam
26
Fertalj: Development of a new course, DAAD, 2008.
FER  Fertalj: Razvoj primijenjene programske potpore, 2007/08.
Feedback from students
 Survey (anonymous questionnaire with student comments)
 "useful"
 "good concept – bad realization" – not expressed what is missing
 "nobody knows what to do"
 sort of disappointment, but students never expressed their expectations
 Lecturer's comment on homework and project task
 Continuous assessment ?= campaign alla bolognese
 Remove the bug from transparencies ?
 Classical paper exam expected ?
 Programming on computer at the examination ?
 How an ATM or Student Kiosk would want to behave ?
 How would a web page want to be designed ?
27
Fertalj: Development of a new course, DAAD, 2008.
FER  Fertalj: Razvoj primijenjene programske potpore, 2007/08.
Lessons learned
 [lessons learned]
 Project ... "A temporary endeavor undertaken to create a unique product,
service or result"
 User story ... "boring interview" ?
 Domain analysis ... "why the teacher-user does not write what he wants" !?
 Software specification ... "a cookbook" ?
 Brooks (Silver Bullet), Paretto (80-20), Murphy/Grimm, ...
 Some lecturer's comments
 Problem solving exceeds pure task solving
 Stress iterative versus classical software life cycle
 Applications development deals with users not only computers
 Executable specification requires a generator, not a programmer
 See Guidelines and Recommendations slide again !
28
Fertalj: Development of a new course, DAAD, 2008.
The 2nd cycle
29
Fertalj: Development of a new course, DAAD, 2008.
Contents: Design, Windows programming
 Lectures
 Homework
 Various types of windows forms in four steps (homeworks)
Topics slides Theory Practice
Graphical user interface. Event
handlers. Dialogs. Data input
validation. Construction of custom
controls.
64 Criteria of GUI design Windows Forms,
delegates, events
Data access logic. 73 ADO.NET Queries, datasets, data
validation
Screen design. User process
components.
40 Standardization of user
interface
Screen layout, basic
controls and components
Distributed aplications.
Application layers.
60 Thin client, Fat client,
Layered applications
N-tier application
development
30
Fertalj: Development of a new course, DAAD, 2008.
Homework Tests
2nd interim exam
31
Fertalj: Development of a new course, DAAD, 2008.
Feedback from students
 "Tough homework" ?
 Homework in 2.cycle is hard due to development of distributed application !!!
• 33% students won >= 50% points
• 66% students won >= 25% points
 Homework in 1st cycle was too easy
 More than 85% students passed homework
 Homework "brings only" 15% points
 Work at home pays back at the exams !
 "Homework should be related to the project"
 Some students forget about the project and deal (only) with technology
 "The automated test is too easy"
 No student complaints for 30% points to be collected by testing on computer.
 Single proposal – transfer some of points for tests to reward homework
• Refused by acclamation of students
0
2
4
6
8
10
12
14
16
18
1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
3rd cycle
33
Fertalj: Development of a new course, DAAD, 2008.
Contents: Reporting, Web, Mobile, Documentation
Topics slides Theory Practice
Universal and self-adaptable
program modules. Report design.
65 Standard functions to
handle a database
table. Types of reports.
Universal screen form.
Crystal reports.
File management. Data transfer.
Windows services.
70 Classes to handle
files, XML, architecture
of windows services
Delimited files, Excel
files, XML files, Windows
service, Notification icon.
Web applications 105 ASP.NET, web page
layout and code, HTML
and controls
Web pages, Web wizard,
Web service,
authentification
Mobile applications 50 Compact Framework,
pocket GUI specifics
Examples of pocket
aplications over XML,
pocket database and
Web service.
Software parametrization.
Internationalization of applications.
Context-sensitive help
implementation. Writing software
documentation. Self-documenting
source code.Software release.
Software maintenance.
37 Parametrization,
internationalization,
localization,
Config files, context
sensitive help,
documentation,
installation procedures
34
Fertalj: Development of a new course, DAAD, 2008.
Homework Tests
Final exam
At the end of the semester
36
Fertalj: Development of a new course, DAAD, 2008.
Statistics
Enrolment 07/08
Total number of enrolments 106
Number of male students 90
Number of female students 16
Achievements 07/08
Number of starts 101
Retention / % 95.28%
Number of passed 86
Achievement / % 85.15%
Grade 5 4 3 2 1
Number of students with this grade 13 30 30 13 15
Minimum number of points for this grade 84.65 70.85 61.90 56.10 /
37
Fertalj: Development of a new course, DAAD, 2008.
Bologna process and ECTS engineering
 Lectures
 Presence on lectures 52.77% in average, probably less (cheating)
• 7 students had to compensate (non)presence by additional homework 
 Some students "spare" 4 hours a week, and are disoriented after ... !?
 Materials (slides)
 According to students: "Overloaded, too many slides" (cca 600 slides)
 Slides substitute textbook, they are not a "quick reference quide"
 Laboratory, consultations – not consumed
 Instead, extensive Q&A emailing takes part particularly during weekend,
before delivery of homework and exam
 "The automated test is too easy"
 Single student proposal – transfer some points for tests to reward homework
 Some possible "improvements"
 reduction of slides, obligatory laboratory, homework due end of work week,
classical paper exam , .... ???
38
Fertalj: Development of a new course, DAAD, 2008.
Final remarks
 Organizational issues
 Problem of planning for the production of materials
 Problem of course scheduling, regarding distribution of topics due to exams
 Teaching by example of a “real life” problem
 real life complexity vs. educational simplicity
 development of software examples requires significant effort
 Reusability of materials
 Only small portions of materials reused from old courses !
 Teaching the teachers
 learn to teach what was not thought before
 Final thoughts from students
 "Too much to work for 4 ECTS"
 "Let me warn you that this will not be a popular course"
 "... but the professor and assistants are a good team"
What's next
Master study
40
Fertalj: Development of a new course, DAAD, 2008.
Course: Development of Information Systems
 Short description
 This course elaborates both structured and object oriented methods and
techniques used in development of complex information systems for end
users.
 The course examines analysis and design techniques, feasibility analysis,
information systems development approaches, systems testing procedures,
installation and migration, and maintenance procedures.
 Organizational issues with respect to information system development will
be considered.
 Educational goals
 The course provides a general knowledge and understanding of all phases
of information systems development.
 Students will gain practical skills by being involved in developing the model
of a complex, possibly real information system.
 Students will be able to study an information system, define user
requirements for a new system, propose and evaluate alternative solutions,
develop a design for the new system, develop project documentation and
deliver, maintain and support corporate information system.
41
Fertalj: Development of a new course, DAAD, 2008.
The context
 Prerequisites: Development of Software Applications
42
Fertalj: Development of a new course, DAAD, 2008.
43
Fertalj: Development of a new course, DAAD, 2008.
Course: Project Management
 Short description
 Project definition. Project management discipline. Characteristics of
successful projects and project failures. Project life cycle.
 Project organization. Project management process groups: initiation,
planning, executing, controlling, closing.
 Planning techniques. Schedule compression. Team work. Project manager
role and profession. Authority, responsibility, negotiation and communication
management. Conflict management. Financial analysis. Software project
specifics. Project management tools. Project documentation. Project
evaluation and lessons learned.
 Educational goals
 Students will acquire knowledge about formal project definition, teamwork
and common project life cycle processes.
 Students will gain good understanding of prerequisites for successful project
management, with emphasis on project domain, business environment and
communications aspects.
 Students will gain practical skills to participate efficiently in project planning
and project management.
44
Fertalj: Development of a new course, DAAD, 2008.
The context
45
Fertalj: Development of a new course, DAAD, 2008.
Discussion
?

More Related Content

Similar to Software Development for Processionals.ppt

MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
cscpconf
 
Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014
Luisa Mich
 

Similar to Software Development for Processionals.ppt (20)

reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 
Unit 1 sepm the generic process model
Unit 1 sepm the generic process modelUnit 1 sepm the generic process model
Unit 1 sepm the generic process model
 
software project management
software project managementsoftware project management
software project management
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
Best Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and DesignBest Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and Design
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
 
Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
System Development
System  DevelopmentSystem  Development
System Development
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineering
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineering
 
System Analisis And Designing
System Analisis And  DesigningSystem Analisis And  Designing
System Analisis And Designing
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
SYSTEMS PRESENTATION to help you in design
SYSTEMS PRESENTATION to help you  in designSYSTEMS PRESENTATION to help you  in design
SYSTEMS PRESENTATION to help you in design
 
An overview of software development methodologies.
An overview of software development methodologies.An overview of software development methodologies.
An overview of software development methodologies.
 
Software Engineering Past Papers Notes
Software Engineering Past Papers Notes Software Engineering Past Papers Notes
Software Engineering Past Papers Notes
 
4 sdlc and stlc
4 sdlc and stlc4 sdlc and stlc
4 sdlc and stlc
 
Ipt Syllabus Changes Project Management
Ipt Syllabus Changes   Project ManagementIpt Syllabus Changes   Project Management
Ipt Syllabus Changes Project Management
 

Recently uploaded

原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样
AS
 
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
AS
 
一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书
F
 
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
ayvbos
 
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
hfkmxufye
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 
一比一原版澳大利亚迪肯大学毕业证如何办理
一比一原版澳大利亚迪肯大学毕业证如何办理一比一原版澳大利亚迪肯大学毕业证如何办理
一比一原版澳大利亚迪肯大学毕业证如何办理
SS
 
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
AS
 
一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理
AS
 
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
AS
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 
一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理
A
 

Recently uploaded (20)

原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样
 
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书
 
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
 
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
一比一原版澳大利亚迪肯大学毕业证如何办理
一比一原版澳大利亚迪肯大学毕业证如何办理一比一原版澳大利亚迪肯大学毕业证如何办理
一比一原版澳大利亚迪肯大学毕业证如何办理
 
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理
 
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理
 
Washington Football Commanders Redskins Feathers Shirt
Washington Football Commanders Redskins Feathers ShirtWashington Football Commanders Redskins Feathers Shirt
Washington Football Commanders Redskins Feathers Shirt
 
Down bad crying at the gym t shirtsDown bad crying at the gym t shirts
Down bad crying at the gym t shirtsDown bad crying at the gym t shirtsDown bad crying at the gym t shirtsDown bad crying at the gym t shirts
Down bad crying at the gym t shirtsDown bad crying at the gym t shirts
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 

Software Development for Processionals.ppt

  • 1. Krešimir Fertalj: Development of a new course on software development – a case study DAAD meeting, May, 19-25 2008, Berlin DAAD workshop, Sept, 07-14 2008, Durres-Kavaje
  • 2. 2 Fertalj: Development of a new course, DAAD, 2008. Course: Development of Software Applications  Short description  This course elaborates software engineering concepts, principles and techniques.  The course studies approaches to the development of end user applications, including requirements analysis and specification, design and construction of software components, programming techniques, documentation, implementation and maintenance of applications.  Educational goals  The course will prepare students for development of complex interactive applications, particularly database applications.  The course will provide a knowledge for successful design, construction and implementation of software systems.  Students will be able to formulate the software requirements and to develop, implement and maintain quality software built upon different software architectures.
  • 3. 3 Fertalj: Development of a new course, DAAD, 2008. The context  Prerequisites  Algorithms and Data Structures - explicit  Databases – implicit for 5th semester  In practice:  Lectures 5%, Homework 15%, Tests 30%, Exams 10%+15%+25% points
  • 4. 4 Fertalj: Development of a new course, DAAD, 2008.
  • 5. 5 Fertalj: Development of a new course, DAAD, 2008. The context – module of software engineering Semester Course ECTS Hours per week Software Design 8 4 Communication Networks 4 3 V Information Theory 4 3 Automata and Formal Languages 4 3 Ecology and Sustainable Development 2 2 Software Project 8 0 30 15 Development of SW applications 4 3 Programming Paradigms and Languages 4 3 VI Elective course 4 3 Elective course 4 3 Commercial Law 2 2 Baccalaureate Thesis 12 0 30 14
  • 6. 6 Fertalj: Development of a new course, DAAD, 2008. Selection of literature  Mandatory textbooks  Roger S. Pressman: Software engineering: A Practitioner`s Approach, McGraw-Hill , 2004  Supplementary textbooks  Ian Sommerville : Software engineering, Addison-Wesley , 2004  Steve Mc Connel: Code Complete, Microsoft Press, 2004  Stephen R Schach: Object-Oriented and Classical Software Engineering, McGraw-Hill , 2005  Candidate books (selected for another course, ISD)  J.A. Hoffer, J.F. George, J.S. Valacich: Modern Systems Analysis and Design, 4th ed., Prentice Hall, 2004.  A. Dennis, B.H. Wixom, D.Tegarden: Systems Analysis & Design: An Object-Oriented Approach with UML, Wiley & Sons, 2002.  G. B. Shelly, T. J. Cashman, H. J. Rosenblatt: Systems Analysis and Design, 5th ed, Course Technology, 2003.
  • 7. 7 Fertalj: Development of a new course, DAAD, 2008. Roger S. Pressman: Software engineering: A Practitioner`s Approach Part 1 The Software Process 2 Process: A Generic View 3 Prescriptive Process Models 4 Agile Development Part 2 Software Engineering Practice 5 Practice: A Generic View 6 System Engineering 7 Requirements Engineering 8 Analysis Modeling 9 Design Engineering 10 Architectural Design 11 Component-Level Design 12 User Interface Design 13 Software Testing Strategies 14 Software Testing Techniques 15 Product Metrics for Software Part 3 Applying Web Engineering 16 Web Engineering 17 Formulation and Planning for Web Engineering ... ... 18 Analysis Modeling for Web Applications 19 Design Modeling for Web Applications 20 Testing Web Applications Part 4 Managing Software Projects 21 Project Management Concepts 22 Process and Project Metrics 23 Estimation for Software Projects 24 Software Project Scheduling 25 Risk Management 26 Quality Management 27 Change Management Part 5 Advanced Topics in Software Engineering 28 Formal Methods 29 Cleanroom Software Engineering 30 Component-Based Software Engineering 31 Reengineering 32 The Road Ahead
  • 8. 8 Fertalj: Development of a new course, DAAD, 2008. Ian Sommerville : Software engineering INTRODUCTION Ch 1: Introduction Ch 2: Socio-technical Systems Ch 3: Dependability Ch 4: Software Processes Ch 5: Project Management REQUIREMENTS ENGINEERING Ch 6: Software Requirements Ch 7: RE Processes Ch 8: Systems Models Ch 9: Critical Systems Specification Ch 10: Formal Specification DESIGN Ch 11: Architectural Design Ch 12: Distributed Systems Architecture Ch 13: Application Architectures Ch 14: Object-oriented Design Ch 15: Real-time Systems Ch 16: User Interface Design SOFTWARE DEVELOPMENT Ch 17: Iterative Software Development Ch 18: Software Reuse Ch 19: CBSE Ch 20: Critical Systems Development Ch 21: Software Evolution VERIFICATION AND VALIDATION Ch 22: Verification and Validation Ch 23: Software Testing Ch 24: Critical Systems Validation MANAGEMENT Ch 25: Managing People Ch 26: Software Cost Estimation Ch 27: Quality Management Ch 28: Process Improvement Ch 29: Configuration Management
  • 10. 10 Fertalj: Development of a new course, DAAD, 2008. Contents  Minimal theory, required to determine practice  full life cycle, from project initiation, project planning and requirements specification to controlled applicaton development in teams  Practice, in feasible quantity  development of windows programs, database access, distributed applications (GUI, DAL, BLL)  windows services (.net), generation of reports (Crystal reports)  web application development (asp.net), web services (xml)  mobile applications development (pocket pc, compact framework)  development of help and documentation, installation procedures  Team work – solving a real-life project, evaluated on exams  Problem definition  Assignment of tasks  Source code sharing  Extensive collaboration with lecturer, assistants, and team members !?
  • 11. 11 Fertalj: Development of a new course, DAAD, 2008. Course execution  Presence on lectures (5% points)  students' activity, problem solving – 5%  disturbance, newspaper reading – 0%  Homework (15% points)  individual solutions to project problems (modeling, ...)  project documentation (plans, specifications, interview, ...)  team work (programming, components, ... source code control)  homework is due the end of the actual week (Sunday, 23:59:59)  Laboratories (non-obligatory)  1 hour per week, but scheduled for two groups as 2 hours  student consultations  students preferred email to lecturer or assistants, usually on weekends
  • 12. 12 Fertalj: Development of a new course, DAAD, 2008. Evaluation of students  Tests on computer, "blitz" (30% points)  "theoretical" (definitions, concepts, but no syntax nor tricky) questions  3 tests, 10% points each, 20 generated questions, 60 minutes per test  Interim exam I (10% points)  project plan  requirements specification, use cases, conceptual model  Interim exam II (15% points)  updated project plan  design specification, data model, screen shots  windows application  Final exam (25% points)  web application, mobile application, end user documentation  software validation (view of "end user")  software verification (control checklist)  Repeated Final exam  for students who failed on max 2 components in one cycle  for ambitious students, willing to repeat one full cycle, but no one applied 
  • 13. 13 Fertalj: Development of a new course, DAAD, 2008. Grading  Evaluation of separated team tasks and individual tasks  Individual component prevails  At least 50,00 % points of each component required  Gauss distribution of those who passed Component Value Times Points Share Presence on lectures 5 1 5 5.00% Automated testing 10 3 30 30.00% Homework 1 15 15 15.00% I interim exam 10 1 10 10.00% II interim exam 15 1 15 15.00% Final exam 25 1 25 25.00% Total 100 100.00%
  • 14. 14 Fertalj: Development of a new course, DAAD, 2008. Guidelines and Recommendations  Material include parts needed for future research, learning and developing of other projects (eg. graduate thesis).  Participation on lectures is recommended.  The examples presented on lectures explain concepts and standards, not products.  Students are allowed to use other tools (e.g. Java).  The examples are not completed solutions or commercial products, although some of them may look as such.  Although examples present "how to do" the project, they are not the cookbook "we always do like that".  Good will is expected and creativity is wellcome. 
  • 16. 16 Fertalj: Development of a new course, DAAD, 2008. Computer Supported Course
  • 17. 17 Fertalj: Development of a new course, DAAD, 2008. Computer Supported Teaching and Evaluation
  • 18. 18 Fertalj: Development of a new course, DAAD, 2008. The project-based concept  The lectures describe a virtual, but representative, problem  The students participate in project regarding one real-life problem  Team work  15 teams, 7-8 members in team  no real project management  teams guided by life-cycle and project document templates  "jammed" development • students interfere with each other • students focused on technology, not the project goals and tasks  All teams try to solve the same problem
  • 19. 19 Fertalj: Development of a new course, DAAD, 2008. Representative software example Partner PK IdPartnera TipPartnera FK1,I1 IdMjestaPartnera AdrPartnera FK2,I2 IdMjestaIsporuke AdrIsporuke Artikl PK SifArtikla U1 NazArtikla JedMjere CijArtikla ZastUsluga SlikaArtikla Stavka PK,FK2,I3,I2 IdDokumenta PK,FK1,I1 SifArtikla KolArtikla JedCijArtikla PostoRabat Dokument PK IdDokumenta VrDokumenta BrDokumenta DatDokumenta FK2,I4,I2 IdPartnera FK1,I1,I3 IdPrethDokumenta PostoPorez IznosDokumenta Tvrtka U1 MatBrTvrtke I2 NazivTvrtke Drzava PK OznDrzave U1 NazDrzave ISO3Drzave SifDrzave Mjesto PK,I2 IdMjesta FK1,I1,I3 OznDrzave I4 NazMjesta PostBrMjesta PostNazMjesta Osoba U1 JMBG PrezimeOsobe ImeOsobe
  • 20. 20 Fertalj: Development of a new course, DAAD, 2008. Representative software solution
  • 21. 21 Fertalj: Development of a new course, DAAD, 2008. Students' project - A real-life problem
  • 22. 22 Fertalj: Development of a new course, DAAD, 2008. A sophisticated evaluation  Criteria published two weeks before exam  Project results uploaded two days before final evaluation ocjena ekipe ocjena člana bodova kriterij PlanRazvoja.mpp Ažurnost plana 3 Sukladnost plana stvarnom stanju (nositelji, status i dovršenost zadataka) Izvedivost plana 3 Budući zadaci, nositelji, vremenski raspored, opterećenje SpecifikacijaDizajna.doc Svrha, kontekst i doseg sustava 0 Ne treba opisivati, jer je definirano u specifikaciji Dizajn podataka Zajednički model baze podataka (jedna slika) Podmodeli podataka 5 Atributi, tipovi podataka, oznake zahtijevanih vrijednosti, primarni i strani ključevi (veze). Članovi navode tablice zajedničkog modela za koje su pojedinačno nadležni. Dizajn arhitekture 0 Opis i dizajn korištene arhitekture (model paketa) Dizajn komponente 5 Dijagram strukture programske komponente za obradu Dizajn korisničkog sučelja 5 Opis svih objekata grafičkih sučelja (prozora) i akcija. Slike pojedinih prozora. Tehnika programiranja Standard nazivlja 3 Specifikacija korištenog nazivlja u bazi podataka i programskom kodu Obrada iznimki 3 Programska knjižnica/razred za centraliziranu obradu iznimki Trag izvođenja aplikacije 3 Programska knjižnica/razred za praćenje traga izvođenja aplikacije Pridržavanje standarda nazivlja 3 Sukladnost definiranom standardu (dosljednost nazivlja varijabli, postupaka, datoteka, kontrola) Robustnost aplikacije 3 Ugrađenost obrade iznimki na kritičnim mjestima Primjena traga izvođenja aplikacije 3 Bilježenje traga uhvaćenih iznimki Formatiranje izvornog koda 3 Širina i dubina programskih sljedova, poravnanje (uvlačenje) naredbi Modularnost 3 Veličina postupaka Deklaracije i inicijalizacija 3 Deklaracije i inicijalizacija programskih varijabli Čitljivost i razumljivost 3 Smislenost naziva varijabli, slamanje logičkih izraza i dugačkih naredbi, programski komentari Funkcionalnost aplikacije Glavna obrada komponente 20 Obrada oblika zaglavlje-detalji, bez obzira na arhitekturu. Mogućnosti dohvata, unosa, izmjene i brisanja podataka. Dodatna funkcionalnost 5 Mogućnost sortiranja, filtriranja podataka, slike, komentari Navigacija podacima 5 Alatna traka Validacija 5 Provjera valjanosti ključnih podataka Odabir vrijednosti vezanih podataka 5 Padajuće liste za odabir vrijednosti stranog ključa Poziv forme vezanog podatka 5 Poziv forme za odabir vrijednosti stranog ključa Ulančavanje procedura 10 Podržanost reprezentativnog scenarija Nefunkcionalna svojstva Glavni izbornik 3 MDI sučelje, balansirana hijerarhija, popis i raspored otvorenih formi Raspored, organizacija sučelja 3 Organizacija zaslonske maske (logičko grupiranje, poravnanje, …) Uvažavanje sadržaja 3 Oponašanje izgleda stvarnih objekata, statusna traka, prikladnost kontrola s obzirom na tip podatka, dinamički izračun agregiranih vrijednosti Estetika 3 Preglednost, korištenje pisma i boja Minimizacija napora 3 Tipke za funkcije obrade, slijed unosa, standardne vrijednosti Dosljednost sučelja 3 Dosljednost izgleda i ponašanja kontrola i formi, na razini projekta Prilagođenost korisniku 3 Intuitivan izbornik, lakoća pristupa i obrade (tipke za ubrzani pristup) Sigurnost i zaštita 3 Autentifikacija korisnika Arhitektura komponente 20 Dodatna kvaliteta tankog klijenta (10 bodova) ilii višeslojne arhitekture (20 bodova) UKUPNO 150 team effort individual effort grades
  • 23. 23 Fertalj: Development of a new course, DAAD, 2008. The 1st cycle
  • 24. 24 Fertalj: Development of a new course, DAAD, 2008. Contents: SDLC, Project, Requirements  Lectures  Laboratory  Interview with real users – a faculty team dealing with education, science and business  Homework  requirements determination, installation of IDE, creation of team solution, ... Topics slides Theory Practice Software engineering fundamentals. Software development life cycle. Software 68 Introduction, definitions, life cycle Introduction to C# Project definition. Project plan. Software development environments. Computer aided software engineering. Software version control. 70 Project planning and trackin, SCM, VSS, CASE Object oriented programming, classes Requirements Specification. Unified modeling language basics. 74 Analysis, UML, UC, SRS Code-UML, Inheritance Coding standards. Programming techniques. 79 Naming, formatting, style Defensive programming, debugging
  • 25. 25 Fertalj: Development of a new course, DAAD, 2008. Homework Tests 1st interim exam
  • 26. 26 Fertalj: Development of a new course, DAAD, 2008. FER Fertalj: Razvoj primijenjene programske potpore, 2007/08. Feedback from students  Survey (anonymous questionnaire with student comments)  "useful"  "good concept – bad realization" – not expressed what is missing  "nobody knows what to do"  sort of disappointment, but students never expressed their expectations  Lecturer's comment on homework and project task  Continuous assessment ?= campaign alla bolognese  Remove the bug from transparencies ?  Classical paper exam expected ?  Programming on computer at the examination ?  How an ATM or Student Kiosk would want to behave ?  How would a web page want to be designed ?
  • 27. 27 Fertalj: Development of a new course, DAAD, 2008. FER Fertalj: Razvoj primijenjene programske potpore, 2007/08. Lessons learned  [lessons learned]  Project ... "A temporary endeavor undertaken to create a unique product, service or result"  User story ... "boring interview" ?  Domain analysis ... "why the teacher-user does not write what he wants" !?  Software specification ... "a cookbook" ?  Brooks (Silver Bullet), Paretto (80-20), Murphy/Grimm, ...  Some lecturer's comments  Problem solving exceeds pure task solving  Stress iterative versus classical software life cycle  Applications development deals with users not only computers  Executable specification requires a generator, not a programmer  See Guidelines and Recommendations slide again !
  • 28. 28 Fertalj: Development of a new course, DAAD, 2008. The 2nd cycle
  • 29. 29 Fertalj: Development of a new course, DAAD, 2008. Contents: Design, Windows programming  Lectures  Homework  Various types of windows forms in four steps (homeworks) Topics slides Theory Practice Graphical user interface. Event handlers. Dialogs. Data input validation. Construction of custom controls. 64 Criteria of GUI design Windows Forms, delegates, events Data access logic. 73 ADO.NET Queries, datasets, data validation Screen design. User process components. 40 Standardization of user interface Screen layout, basic controls and components Distributed aplications. Application layers. 60 Thin client, Fat client, Layered applications N-tier application development
  • 30. 30 Fertalj: Development of a new course, DAAD, 2008. Homework Tests 2nd interim exam
  • 31. 31 Fertalj: Development of a new course, DAAD, 2008. Feedback from students  "Tough homework" ?  Homework in 2.cycle is hard due to development of distributed application !!! • 33% students won >= 50% points • 66% students won >= 25% points  Homework in 1st cycle was too easy  More than 85% students passed homework  Homework "brings only" 15% points  Work at home pays back at the exams !  "Homework should be related to the project"  Some students forget about the project and deal (only) with technology  "The automated test is too easy"  No student complaints for 30% points to be collected by testing on computer.  Single proposal – transfer some of points for tests to reward homework • Refused by acclamation of students 0 2 4 6 8 10 12 14 16 18 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
  • 33. 33 Fertalj: Development of a new course, DAAD, 2008. Contents: Reporting, Web, Mobile, Documentation Topics slides Theory Practice Universal and self-adaptable program modules. Report design. 65 Standard functions to handle a database table. Types of reports. Universal screen form. Crystal reports. File management. Data transfer. Windows services. 70 Classes to handle files, XML, architecture of windows services Delimited files, Excel files, XML files, Windows service, Notification icon. Web applications 105 ASP.NET, web page layout and code, HTML and controls Web pages, Web wizard, Web service, authentification Mobile applications 50 Compact Framework, pocket GUI specifics Examples of pocket aplications over XML, pocket database and Web service. Software parametrization. Internationalization of applications. Context-sensitive help implementation. Writing software documentation. Self-documenting source code.Software release. Software maintenance. 37 Parametrization, internationalization, localization, Config files, context sensitive help, documentation, installation procedures
  • 34. 34 Fertalj: Development of a new course, DAAD, 2008. Homework Tests Final exam
  • 35. At the end of the semester
  • 36. 36 Fertalj: Development of a new course, DAAD, 2008. Statistics Enrolment 07/08 Total number of enrolments 106 Number of male students 90 Number of female students 16 Achievements 07/08 Number of starts 101 Retention / % 95.28% Number of passed 86 Achievement / % 85.15% Grade 5 4 3 2 1 Number of students with this grade 13 30 30 13 15 Minimum number of points for this grade 84.65 70.85 61.90 56.10 /
  • 37. 37 Fertalj: Development of a new course, DAAD, 2008. Bologna process and ECTS engineering  Lectures  Presence on lectures 52.77% in average, probably less (cheating) • 7 students had to compensate (non)presence by additional homework   Some students "spare" 4 hours a week, and are disoriented after ... !?  Materials (slides)  According to students: "Overloaded, too many slides" (cca 600 slides)  Slides substitute textbook, they are not a "quick reference quide"  Laboratory, consultations – not consumed  Instead, extensive Q&A emailing takes part particularly during weekend, before delivery of homework and exam  "The automated test is too easy"  Single student proposal – transfer some points for tests to reward homework  Some possible "improvements"  reduction of slides, obligatory laboratory, homework due end of work week, classical paper exam , .... ???
  • 38. 38 Fertalj: Development of a new course, DAAD, 2008. Final remarks  Organizational issues  Problem of planning for the production of materials  Problem of course scheduling, regarding distribution of topics due to exams  Teaching by example of a “real life” problem  real life complexity vs. educational simplicity  development of software examples requires significant effort  Reusability of materials  Only small portions of materials reused from old courses !  Teaching the teachers  learn to teach what was not thought before  Final thoughts from students  "Too much to work for 4 ECTS"  "Let me warn you that this will not be a popular course"  "... but the professor and assistants are a good team"
  • 40. 40 Fertalj: Development of a new course, DAAD, 2008. Course: Development of Information Systems  Short description  This course elaborates both structured and object oriented methods and techniques used in development of complex information systems for end users.  The course examines analysis and design techniques, feasibility analysis, information systems development approaches, systems testing procedures, installation and migration, and maintenance procedures.  Organizational issues with respect to information system development will be considered.  Educational goals  The course provides a general knowledge and understanding of all phases of information systems development.  Students will gain practical skills by being involved in developing the model of a complex, possibly real information system.  Students will be able to study an information system, define user requirements for a new system, propose and evaluate alternative solutions, develop a design for the new system, develop project documentation and deliver, maintain and support corporate information system.
  • 41. 41 Fertalj: Development of a new course, DAAD, 2008. The context  Prerequisites: Development of Software Applications
  • 42. 42 Fertalj: Development of a new course, DAAD, 2008.
  • 43. 43 Fertalj: Development of a new course, DAAD, 2008. Course: Project Management  Short description  Project definition. Project management discipline. Characteristics of successful projects and project failures. Project life cycle.  Project organization. Project management process groups: initiation, planning, executing, controlling, closing.  Planning techniques. Schedule compression. Team work. Project manager role and profession. Authority, responsibility, negotiation and communication management. Conflict management. Financial analysis. Software project specifics. Project management tools. Project documentation. Project evaluation and lessons learned.  Educational goals  Students will acquire knowledge about formal project definition, teamwork and common project life cycle processes.  Students will gain good understanding of prerequisites for successful project management, with emphasis on project domain, business environment and communications aspects.  Students will gain practical skills to participate efficiently in project planning and project management.
  • 44. 44 Fertalj: Development of a new course, DAAD, 2008. The context
  • 45. 45 Fertalj: Development of a new course, DAAD, 2008.

Editor's Notes

  1. The Pareto principle (also known as the 80-20 rule, the law of the vital few and the principle of factor sparsity) states that, for many events, 80% of the effects comes from 20% of the causes. Brooks, F.P. (1987) No silver bullet: essence and accidents of software engineering. Computer, 20 (4), 10-19. – teškoće/problemi sastavni dio softvera, nema tehnologije ili praksi koje će ih lakoćom riješiti The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition Frederick P. Brooks "Adding manpower to a late project makes it later" Murphy's law is an adage in Western culture that broadly states that things will go wrong in any given situation, if you give them a chance. "