Krešimir Fertalj: Development of A New Course On Software Development - A Case Study
Krešimir Fertalj: Development of A New Course On Software Development - A Case Study
Krešimir Fertalj: Development of A New Course On Software Development - A Case Study
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.
In practice:
Lectures 5%, Homework 15%, Tests 30%, Exams 10%+15%+25% points
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
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
Although examples present "how to do" the project, they are not
the cookbook "we always do like that".
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
Dokument
Partner
PK IdDokumenta
PK IdPartnera Artikl
VrDokumenta
TipPartnera BrDokumenta PK SifArtikla
FK1,I1 IdMjestaPartnera DatDokumenta
AdrPartnera FK2,I4,I2 IdPartnera U1 NazArtikla
FK2,I2 IdMjestaIsporuke FK1,I1,I3 IdPrethDokumenta JedMjere
AdrIsporuke PostoPorez CijArtikla
IznosDokumenta ZastUsluga
SlikaArtikla
Stavka
Osoba
Tvrtka PK,FK2,I3,I2 IdDokumenta
PK,FK1,I1 SifArtikla
U1 JMBG KolArtikla
U1 MatBrTvrtke PrezimeOsobe
I2 NazivTvrtke JedCijArtikla
ImeOsobe PostoRabat
Fertalj: Development of a new course, DAAD, 2008. 19
Representative software solution
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)
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
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, …)
grades 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
Fertalj:
FER \ Fertalj:
Development
Razvojof
primijenjene
a new course,
programske
DAAD, 2008.
potpore, 2007/08. 26
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, ...
Fertalj:
FER \ Fertalj:
Development
Razvojof
primijenjene
a new course,
programske
DAAD, 2008.
potpore, 2007/08. 27
The 2nd cycle
Homework
Various types of windows forms in four steps (homeworks)
Final exam
Fertalj: Development of a new course, DAAD, 2008. 34
At the end of the semester
Statistics Achievements 07/08
Enrolment 07/08 Number of starts 101
Total number of enrolments 106 Retention / % 95.28%
Number of male students 90 Number of passed 86
Number of female students 16 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 /
Master study
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.
Fertalj: Development of a new course, DAAD, 2008. 40
The context
Prerequisites: Development of Software Applications