-
Notifications
You must be signed in to change notification settings - Fork 62
Ohjelmistotuotanto kevät 2014
Matti Luukkainen edited this page May 10, 2014
·
67 revisions
Kurssilla käsitellään ohjelmistotuotantoprojektien hallinnan, työvaiheiden ja työvälineiden perusteita. Erityinen painotus ketterissä ohjelmistotutantomenetelmissä.
Kurssilla sisältää luentoja 4 tuntia viikossa, viikottaiset harjoitustehtävät ja ns. miniprojektin
kurssin opetusjärjestelyt ja arvosteluperusteet on kuvattu tarkemmin luennon 1 kalvoilta
- Kurssin arvostelu valmiina
- Jos teit kaikki kurssin versionhallintaan liittyvät tehtävät ja osallistuit hyväksytysti miniprojektiin, saat halutessasi opintopisteen opintojaksolta Versionhallinta
- ilmoita halukkuutesi versionhallintaopintopisteeseen täällä
- Jos sinulta jäi kurssin aikana joitain versionhallintaan liittyviä tehtäviä tekemättä, saat opintopisteen tekemällä tehtävät toukokuun loppuun mennessä
- Kurssilla on laskaritehtäviä yhteensä 56 (+ viikon 6 bonustehtävät), joista 17 on git-tehtäviä.
- Lisäopintopisteeseen vaaditaan 36 ei-git-tehtävää
- 50 tehtyä tehtävää tuo 10 kurssipistettä, 45 tehtävää 9 pistettä, …, ja 5 tehtävää yhden kurssipisteen
- kurssin irc-kanava #ohtu2014
- kalvot 1 2 3 4 5 6 7 8 9 10
- laskarit: 1 2 3 4 5 6
- luentoihin liittyvä koodi: 8 9 10
- tehtävien palautus http://ohtustats.herokuapp.com/
- jenkins http://ohtu.jamo.io/
- johdanto, ohjelmistoprosessin vaiheet, prosessimallit
- tekniset asiat: versionhallinnan ja buildhallinnan alkeet
- taustamateriaalia:
- Martin Fowler The New Methodology http://martinfowler.com/articles/newMethodology.html
- Manifesto for Agile Software Development http://agilemanifesto.org/
- Version control http://jamesshore.com/Agile-Book/version_control.html
- Ten minute build http://jamesshore.com/Agile-Book/ten_minute_build.html
- ketterä/iteratiivinen ohjelmistoprosessi: scrum
- design pattern of the day: dependency injection
- taustamaterialia:
- tehtävät
- apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107
- vaatimusmäärittely
- ketterä vaatimustenhallinta ja projektisuunnittelu, osa 1:
- vaatimusten kerääminen
- vaatimusten dokumentointi: user storyt
- estimointi
- taustamateriaalia
- Sommerville: Integrated requirements engineering: a tutorial
- huom: artikkeli downloadattavissa vain laitoksen verkosta. paikallinen kopio täällä
- Kniberg: Scrum and XP form the trenches sivut 9-55
- Shore: Art of agile development, luvut release planning ja stories
- Rasmussen: The Agile Samurai, luvut 6-8
- http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/
- Sommerville: Integrated requirements engineering: a tutorial
- vaatimusmäärittely
- hyvän backlogin tunnusmerkit
- release planning
- ketterä vaatimustenhallinta ja projektisuunnittelu, osa 2:
- iteration suunnittelu
- edistymisen raportointi
- taustamateriaalia
- http://www.romanpichler.com/blog/product-backlog/making-the-product-backlog-deep/
- http://www.romanpichler.com/blog/product-backlog/grooming-the-product-backlog/
- Kniberg: Scrum and XP form the trenches sivut 9-55
- :http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/
- http://www.mountaingoatsoftware.com/scrum/sprint-planning-meeting
- http://jamesshore.com/Agile-Book/the_planning_game.html
- http://www.mountaingoatsoftware.com/scrum/sprint-backlog
- tehtävät
- apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107
- testaus, osa 1
- verifiointi ja validointi
- katselmoinnit ja tarkastukset
- testauksen tasot (yksikkö-, integraatio- ja järjestelmätestaus)
- testitapausten valinta
- testauksen kattavuuden mittaus
- taustamateriaalia
- testaus, osa 2
- TDD
- User Storyjen automatisoitu hyväksymätestaus
- Continuous integration
taustamateriaalia
- http://jamesshore.com/Agile-Book/test_driven_development.html
- http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd
- http://martinfowler.com/articles/mocksArentStubs.html
- http://testobsessed.com/wp-content/uploads/2011/04/atddexample.pdf
- http://www.methodsandtools.com/archive/archive.php?id=23
- http://www.methodsandtools.com/archive/archive.php?id=72
- http://www.industriallogic.com/papers/storytest.pdf
- http://dannorth.net/introducing-bdd/
- http://seleniumhq.org/docs/03_webdriver.html
- http://www.stevemcconnell.com/ieeesoftware/bp04.htm
- http://martinfowler.com/articles/continuousIntegration.html
- http://jamesshore.com/Agile-Book/continuous_integration.html
- http://timothyfitz.wordpress.com/2009/02/08/continuous-deployment/
- tehtävät
- apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107
- testaus, osa 2
- tutkiva testaaminen
- olioiden persistointi relaatiotietokantaan
- ohjelmiston arkkitehtuuri
- arkkitehtuuri ketterissä menetelmissä
taustamateriaalia
- http://www.satisfice.com/articles/et-article.pdf
- http://www.satisfice.com/articles/what_is_et.shtml
- http://msdn.microsoft.com/en-us/architecture/ff476940
- http://jamesshore.com/Agile-Book/incremental_design.html
- http://butunclebob.com/ArticleS.UncleBob.IncrementalArchitecture
- http://martinfowler.com/articles/designDead.html
- ohjelmiston suunnittelu osa 1
- oliosuunnittelun periaatteita
- suunnittelumalleja: composed method, static factory, strategy, command, template method
taustamateriaalia
- http://www.ibm.com/developerworks/java/library/j-eaed4/index.html
- http://www.objectmentor.com/resources/articles/srp.pdf
- http://www.artima.com/lejava/articles/designprinciples.html
- http://www.oodesign.com/strategy-pattern.html
- http://sourcemaking.com/design_patterns/strategy
- http://www.oodesign.com/command-pattern.html
- http://sourcemaking.com/design_patterns/command
- http://www.oodesign.com/template-method-pattern.html
- http://www.netobjectives.com/PatternRepository/index.php?title=TheTemplateMethodPattern
- tehtävät
- apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107
viikolla vain yksi luento
- ohjelmiston suunnittelu osa 2
- suunnittelumalleja: dekoraattori, komposiitti, proxy, adapteri, fasaadi, MVC, observer
- domain driven design
- DSL
taustamateriaalia
- http://sourcemaking.com/design_patterns/decorator
- http://sourcemaking.com/design_patterns/builder
- http://martinfowler.com/bliki/FluentInterface.html
- http://www.infoq.com/articles/internal-dsls-java
- http://sourcemaking.com/design_patterns/composite
- http://sourcemaking.com/design_patterns/proxy
- http://sourcemaking.com/design_patterns/adapter
- http://www.infoq.com/articles/ddd-evolving-architecture
- http://martinfowler.com/eaaCatalog/serviceLayer.html
- http://sourcemaking.com/design_patterns/facade
- http://sourcemaking.com/design_patterns/observer
- tehtävät
- apua tehtävien tekoon to 14-16 ja pe 14-16 salissa BK107
viikolla vain yksi luento
HUOM: pääsisiloma 17-23.4.
- ohjelmiston suunnittelu osa 3
- koodinhajut
- refaktorointi
- käytetäänkö ketteriä menetelmiä ja toimivatko ne?
- katsaus kokeen kannalta tärkeimpiin asioihin
taustamateriaalia
- http://www.infoq.com/articles/technical-debt-levison
- http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx
- http://msdn.microsoft.com/en-us/magazine/ee819135.aspx
- http://sourcemaking.com/refactoring/bad-smells-in-code
- http://c2.com/xp/CodeSmell.html
- http://wiki.java.net/bin/view/People/SmellsToRefactorings
- http://www.codinghorror.com/blog/2006/05/code-smells.html
- http://sourcemaking.com/refactoring
- Survey on agile and lean usage in Finnish software industry
- tehtävät
- apua tehtävien tekoon to 15-17 ja pe 14-16 salissa BK107
- miniprojektin kolmannen sprintin demot to 24.4. klo 12-15 B121 ja pe 25.4. klo 10-12 B222