IDK0071 Tarkvaratehnika Loeng 1: Õppeaine korraldus ja eesmärgid. Tarkvara arendusprotsess ja agiilne tarkvaratehnika. Professor Kuldar Taveter

Similar documents
Software processes, quality, and standards Static analysis

IRZ0190 Kanalikodeerimine telekommunikatsioonis. Julia Berdnikova julia.berdnikova [ät] ttu.ee Sander Ulp sander.ulp [ät] ttu.ee

Haridustehnoloogia innovatsioonivõrgus2ke ja kogukondade näited. Mar$n Sillaots #5

Requirements Gathering using Object- Oriented Models

Hillar Põldmaa 20. september 2010

Arvude edastamine raadiosides. 1. Numbrite edastamine Numbrite edastamisel kasutatakse järgmist hääldust, rõhutades allajoonitud silpi.

Patsiendidoosi hindamine ja kvaliteedimııtmised radioloogia kvaliteedis steemi osana. I Patsiendidoosi hindamine

Licence to learn. Karel Zova , Olustvere

8.2.1 Therac-25 Radiation Overdoses

Software Testing Introduction

Arvutimängude loomise võimalusi läbi Steam'i platvormi

Marie Skłodowska-Curie individuaalgrandid. Tartu, 10. mai 2016 Kristin Kraav

Kommunikatsiooniteenuste arendus IRT0080

TARTU ÜLIKOOL LOODUS- JA TEHNOLOOGIATEADUSKOND Tehnoloogiainstituut Arvutitehnika eriala

Requirements Gathering using Object- Oriented Models

Presenter SNP6000. Register your product and get support at ET Kasutusjuhend

Mängud on rohkem nagu juhtnöörid ja ideed, mida ette võtta projekti raames oma klassis.

Software Apocalypse. As a Don Quixote we regard an increasing flock of sheep as an army of professionals. 19 April 2018

Ethics. Paul Jackson. School of Informatics University of Edinburgh

Software Verification and Validation. Prof. Lionel Briand Ph.D., IEEE Fellow

Self-teaching Gomoku player using composite patterns with adaptive scores and the implemented playing framework

ETTEVÕTTE ÄRIPROTSESSIDE EFEKTIIVSUSE TÕSTMINE KLIENDISUHETE HALDUSE LAHENDUSE JUURUTAMISE ABIL

Purpose and Difficulty of Software Testing

Information furnished in conformity with the Convention on Registration of Objects Launched into Outer Space

Virtual Reality Game Design Analysis. Based on Tribocalypse VR

7. Kanalikiht II. Side IRT3930 Ivo Müürsepp

Dota 2 Workshop Tools õppematerjal kohandatud mängude loomiseks

Computer Science: Who Cares? Computer Science: It Matters. Computer Science: Disciplines

Survey Pro 4.8 GPS/GNSS juhend

Dependable Computer Systems

OpenAIRE2020 uuel perioodil uue hooga

Agile Game Development

Algoritmide koostamise strateegiad

This document is a preview generated by EVS

Materjal: Slaidid 40 41

Role of the Product Owner And the Development of Minimal Marketable Features

Capital investments and financing structure: Are R&D companies different?

Business Driven Software Development. Why the Focus on the Team is an Impediment to Agile

Formally Verified Endgame Tables

Scientists warn of space junk danger

The European Satellite Radio Navigation Programmes Galileo and EGNOS: Questions and Answers

The Future of Space Exploration in the USA. Jakob Silberberg

Peegel universum ja ilmneva käitumise haldamine

world leader in capacity, performance and costefficiency.

Sissejuhatus Objekt-Orienteeritud (O-O) andmebaasidesse ja ülevaade andmemudelite ajaloost.

EESTI STANDARD EVS-ISO :2007

Rakenduste loomine programmi GameMaker abil

Software Engineering

Leader-follower System for Unmanned Ground Vehicle

Swiss Manager. Kuremaa, Sten Kasela

A Fast Monolithic System for Proton Imaging. Fritz DeJongh ProtonVDA Inc October 2017

Jazzklaveri ainekava. ainekava kestvus: 3(4) õppeaastat ( 5-7(8) kl. ) Eesmärgid ja ülesanded:

Planetary CubeSats, nanosatellites and sub-spacecraft: are we all talking about the same thing?

The Mid-term Review of the European Satellite Radio Navigation Programmes Galileo and EGNOS: Questions and Answers

Internetiturundus sotsiaalmeedia abil koeratoit.ee näitel

This document is a preview generated by EVS

E U R O P E A N PERSONAL INFORMATION FELICI FABRIZIO WORK EXPERIENCE C U R R I C U L U M V I T A E F O R M A T. Name. Address. Telephone Fax

This document is a preview generated by EVS

NASA s X2000 Program - an Institutional Approach to Enabling Smaller Spacecraft

Distributed Systems Programming (F21DS1) Formal Methods for Distributed Systems

CSC2125: Modeling Methods, Tools and Techniques Winter 2018

TARTU ÜLIKOOLI SPIN-OFF ETTEVÕTETE RAHVUSVAHELISTUMINE POSITIUM LBS OÜ JA TBD- BIODISCOVERY OÜ NÄITEL

Lecture 9: Estimation and Prioritization" Project Planning"

HOW JIBJAB LAUNCHED ANDROID APP AT FACEBOOK CONFERENCE IN JUST 4 WEEKS AND GOT OVER A MILLION DOWNLOADS. Over a downloads in just 4 weeks

Analysis of Software Artifacts

An Analysis of Low Earth Orbit Launch Capabilities

Towards a pan- European promotion for wood

The first videoconference at Q/V Band: a new era of the satellite telecommunication history

The Broadcasters' Desktop Resource. ... edited by Barry Mishkind - the Eclectic Engineer. Tools You Can Use. By Phil Alexander

RESPONSIBLE RESEARCH AND INNOVATION

TALLINNA PEDAGOOGIKAÜLIKOOL. GPS Global Positioning System

Ärikorralduse instituut, aasta teadus- ja arendustegevuse aruanne

EESTI AKREDITEERIMISKESKUS

Billionaires want to help Trump send rockets to the moon again

F. Tip and M. Weintraub REQUIREMENTS

UNIVERSITY OF TARTU Faculty of Science and Technology Institute of Physics. Computer Engineering. Jaan Viru

FOTOKAAMERATE JA TARKVARADE VÕRDLUS LÄHIFOTOGRAMM-MEETRILISTE 3D MUDELITE LOOMISEL

Where are the Agencies Human Space Flight (HFR) Programs Heading? USA (NASA) System Description Goal Remarks * Space Launch System (SLS) Program

Abstract- Light Kite. things, finding resources and using them for our own use.

Workshop on Intelligent System and Applications (ISA 17)

BCS3323 Software Testing and Maintenance. Overview of Testing

Kommunikatsiooniteenuste arendus

Low-Power Quad Operational Amplifier FEATURES: DESCRIPTION: Memory. Logic Diagram. RAD-PAK technology-hardened against natural space radiation

TENDENCIAS: SUEÑOS DE ROBOT. Pedro Moneo

HISTORY. CT Physics with an Emphasis on Application in Thoracic and Cardiac Imaging SUNDAY. Shawn D. Teague, MD

DoReMi-MELODI Training and Education Forum Introduction and background

SIDE (IRT 3930) Loeng 3/2012 Signaalid sidesüsteemis Teema - signaalid. Avo Ots. telekommunikatsiooni õppetool,

Range Commanders Council 2015

Cyberspace: The new international legal frontier

Focusing Software Education on Engineering

Dependable Computer Systems

About Quality and Using of IKONOS Satellite Image in Estonia

Internet Engineering. Jan Nikodem, Ph.D. Software Engineering

INTRODUCTION. Costeas-Geitonas School Model United Nations Committee: Disarmament and International Security Committee

2017 Investment Roadshow in Australia

Software Eng. 2F03: Logic For Software Engineering

Montessori Model United Nations. Distr.: Middle School Thirteenth Session Sept Fourth Committee Special Political and Decolonization Committee

Analysis of Processing Parameters of GPS Signal Acquisition Scheme

Suure dünaamilise ulatusega (HDR) fotograafia. Õppematerjal

DC PRECISION "HIGH CURRENT" SOURCES / RANGE EXTENDERS

Transcription:

IDK0071 Tarkvaratehnika Loeng 1: Õppeaine korraldus ja eesmärgid. Tarkvara arendusprotsess ja agiilne tarkvaratehnika Professor Kuldar Taveter

Teemad loengus Ülevaade ainest p Õppejõud p Struktuur p Hindamine Sissejuhatus tarkvaratehnikasse p Mis on tarkvaratehnika? p Miks tarkvaratehnika? Tarkvara arendusprotsess p Kose mudel p Iteratiivne protsess Agiilne tarkvaratehnika p Põhimõtted p Scrumi näide

Inimesed Õppejõud p p p Professor Kuldar Taveter Meil: kuldar.taveteraddttu.ee Konsultatsiooniajad: E 13.30 14.30 ruumis ICT-647 (meili teel etteteatamisega) Lektorid tarkvaratööstusest: p p Kaspar Loog, Browserbite jne. Laborijuhendajad: p p p p p p Kadri-Ann Valgeväli, Proekspert Liisa Jõgiste, Helmes Kristi Uukkivi, Sertifitseerimiskeskus Margus Räim, SMIT Jekaterina Ivask, TTÜ Tarvo Treier, TTÜ Tudengid: p Kes olete teie?

Kes olen mina? Nimi: Kuldar Taveter Ametikoht: professor, tarkvaratehnika õppetooli juhataja, sotsiotehniliste süsteemide uurimisgrupi juht Haridus: p Dip.Eng., TTÜ, 1988 p M.Sc., TTÜ, 1995 p Ph.D., TTÜ, 2004 Töökogemus: p 1985-1989: Küberneetika Instituut p 1989-1993: Erasektor p 1993-1998: TTÜ Informaatika Instituut p 1997-2005: VTT Tietotekniikka, Soome p 2005-2008: Melbourne Ülikool, Austraalia p 2011: South Carolina Ülikool, USA p 2016: Shanghai University for Science and Technology, Hiina Uurimisalad: nõuete esiletoomine ja analüüs, agentorienteeritud modelleerimine, tarkvaraagendid, agendipõhine simulatsioon, sotsiaalvõrgustikel põhinevad infosüsteemid

Aine eesmärgid Arusaamine suurte tarkvarasüsteemide loomise probleemidest ja keerukusest Arusaamine tarkvara arendusprotsessi etappidest ja tegevustest Arusaamine hea projektihalduse eelistest tarkvara arendusprotsessis Võime kriitiliselt analüüsida ja hinnata tarkvara arendusprotsessis esilekerkivaid probleeme Võime valida ja rakendada sobivaid disainitehnikaid

Aine eesmärgid (jätkub) Arusaamine tarkvara arendusprotsessi olulisusest tarkvarasüsteemi kvaliteedi saavutamisel Teadlikkus vajalikest tehnikatest ja tööriistadest Võime rakendada oma teadmisi ja kogemusi otustamisel Saada rühmatöö kogemusi Arendada oma suhtlemis- ja kirjutamisoskust

Aine muudes maailma ülikoolides The University of Melbourne: Software Engineering Process and Practice Swinburne University of Technology: Software Engineering University of South Carolina: Software Engineering (project)

Aine struktuur Loengud esmaspäeviti kell 16.00 17.30 auditooriumis auditooriumis U06A-229 (endine VI-229) Laboritunnid kord nädalas, vastavalt tunniplaanile p Laborirühmi üldjuhul vahetada ei saa! Hindamine: p Laboritunnid 50% (max 40 + 10 punkti) p Kirjalik eksam 50% (max 50 punkti, min hinne 1 )

Loengute orienteeruvad teemad (võib tulla muudatusi) 1. Õppeaine "Tarkvaratehnika" korraldus ja eesmärgid. Tarkvaraarenduse metoodikad ja agiilne tarkvaratehnika (12. September, Prof Kuldar Taveter, TTÜ) 2. Tarkvarasüsteemi nõuete analüüs (19. September, Prof Kuldar Taveter, TTÜ) 3. Tarkvarasüsteemi arhitektuuri kavandamine (26. September, tööstuse esindaja) 4. Praktiku seminar: Arenduse infrastruktuur ja konfiguratsioonihaldus (3. Oktoober, tööstuse esindaja) 5. Praktiku seminar agiilsest tarkvaratehnikast: Koodi disain (10. Oktoober, Erik Jõgi, codeborne) 6. Praktiku seminar: Süsteemi nõuete esiletoomine ja analüüs (17. Oktoober, Erkki Lindepuu) 7. Tarkvarasüstemi kvaliteet ja testimine (24. Oktoober, Jekaterina Tsukrejeva, TTÜ) 8. Praktiku seminar tarkvara kvaliteedist ja testimisest (31. Oktoober, tööstuse esindaja) 9. Praktiku seminar agiilsest tarkvaratehnikast: XP metoodika (7. November, Erik Jõgi, codeborne) 10. Praktiku seminar agiilsest tarkvaratehnikast: Agiilne tarkvaraarendus LHV näitel (14. November, Rainer Tikk, LHV Pank) 11. Kohustuslik praktiku seminar (IABB õpperühmad): Tarkvarasüsteemi elutsükkel ja arendusprotsess (21. November, Kaspar Loog, Browserbite) 12. Kohustuslik praktiku seminar (IAPB õpperühmad): Tarkvarasüsteemi elutsükkel ja arendusprotsess (28. November, Kaspar Loog, Browserbite) 13. Modelleerimine ja UML agiilse tarkvaratehnika kontekstis (5. Detsember, Prof Kuldar Taveter, TTÜ) 14. Ülevaade eksamist (Prof Kuldar Taveter, TTÜ). Praktiku seminar (12. Detsember, teema teatame hiljem) 15. Praktiku seminar (19. Detsember, teema teatame hiljem)

Ülevaade teemadest laboritundides (mitte veel siduv) Tarkvara arendusprotsessid p Agiilsed metoodikad p Miks on vajalikud? Kvaliteedi tagamine: p Nõuete selgitamine p Ühiktestimine p Clean Code p Funktsionaalne testimine Parimad praktikad p Versioonikontroll: GIT p Planeerimispokker p Retrospektiiv p Koodi kattuvus Arhitektuur p Miks on vajalik? p Kuidas valida? p Kuidas rakendada?

Harjutustundide teemad (võib tulla muudatusi) 1. Tarkvaraarendusmetoodikad, agiilsed metoodikad, Scrum. Scrumi põhimõistete selgitamine ja kasutamine antud projektis (12. Septembri nädal). 2. Funktsionaalsed nõuded arendatavale süsteemile (19. Septembri nädal). 3. Tarkvara arhitektuur (26. Septembri nädal). 4. Versioonihalduse süsteemid. GITi näitamine (3. Oktoobri nädal). 5. Pidev integratsioon: Continuous Integration. Põhimõtted ning erinevate tööriistade tutvustamine: Ant ja Maven projektid (10. Oktoobri nädal). 6. Koodi arhitektuur ning Clean Code kasutamine (17. Oktoobri nädal). 7. Kaitsmised (24. Oktoobri nädal). 8. Ühiktestimine, Mock-objektid (31. Oktoobri nädal). 9. Koodi testidega katmine. Koodi testidega kaetuse mõõtmine. Erinevate tööriistade tutvustamine ja töötamine EclEmma'ga (7. Novembri nädal). 10. XP praktikad: Paarisprogrammeerimine. Kanban (14. Novembri nädal). 11. Kaitsmised (21. Novembri nädal). 12. Tarkvara testimise meetodid, Riskipõhine testimine. Musta kasti testimine (28. Novembri nädal). 13. UML diagrammid tehtud tarkvara kohta (5. Detsembri nädal). 14. Kaitsmised (12. Detsembri nädal). 15. Kaitsmised (19. Detsembri nädal).

Ressursid Õpikud: p Sommerville, I. (2011). Software engineering (9th International Ed.). Boston, MA: Pearson. Aine koduleht: http://maurus.ttu.ee/sts/?page_id=2406 NB! Mitte tavaline maurus! Lihtsam meelde jätta: http://maurus.ttu.ee/sts/ ja sealt õppeainete nimekirjast otsida

Mis on ühist kaitsesimulaatoritel, Skype-il, energia ülekandesüsteemidel ja liikluskaameratel?

Taust Tarkvara iseloom Kõrgenenud nõudmised: p suuremad süsteemid; p keerulisemad süsteemid; p kiiremini.

Miks vajame tarkvaratehnikat? Asjalik mees või naine suudab ehitada tööriistakuuri oma maja või suvila juurde. Kas seesama inimene saab hakkama ka 30- korruselise kontorihoone püstipanekuga? Insener suudab valmis programmeerida lihtsa kontrolleri. Kas seesama insener saab hakkama ka lennuliikluse kontrollsüsteemi programmeerimisega?

Milleks tarkvaratehnika? Tarkvaratööstuse kriis 1965-1985: failure 31% success 16% Source: The Standish Group International, Inc. (CHAOS research) over budget 53%

Dünaamika CHAOS raporti järgi 1994 1996 1998 2000 2002 2004 2006 2009 Successful 16% 27% 26% 28% 34% 29% 35% 32% Over budget 53% 33% 46% 49% 51% 53% 46% 44% Failed 31% 40% 28% 23% 15% 18% 19% 24%

Ariane Crash (1996) Reference: http://www.around.com/ariane.html (Story by James Gleick) It took the European Space Agency 10 years and $7 billion to produce Ariane 5, a giant rocket capable of hurling a pair of three-ton satellites into orbit with each launch and intended to give Europe overwhelming supremacy in the commercial space business. All it took to explode that rocket less than a minute into its maiden voyage last June, scattering fiery rubble across the mangrove swamps of French Guiana, was a small computer program trying to stuff a 64-bit number into a 16-bit space. One bug, one crash. Of all the careless lines of code recorded in the annals of computer science, this one may stand as the most devastatingly efficient. From interviews with rocketry experts and an analysis prepared for the space agency, a clear path from an arithmetic error to total destruction emerges.

Ariane Crash (1996): vigane kood L_M_BV_32 := TBD.T_ENTIER_32S ((1.0/C_M_LSB_BV) * G_M_INFO_DERIVE(T_ALG.E_BV)); if L_M_BV_32 > 32767 then P_M_DERIVE(T_ALG.E_BV) := 16#7FFF#; elsif L_M_BV_32 < -32768 then P_M_DERIVE(T_ALG.E_BV) := 16#8000#; else P_M_DERIVE(T_ALG.E_BV) := UC_16S_EN_16NS(TDB.T_ENTIER_16S(L_M_BV_32)); end if; P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S ((1.0/C_M_LSB_BH) * G_M_INFO_DERIVE(T_ALG.E_BH)));

THERAC-25 (1) Therac 25 was engineered by Atomic Energy Canada Limited (AECL) in conjunction with a French company CGR. It was an advancement in the fight against cancer. The million dollar, dual-mode linear accelerator was first developed in 1976 and the commercial version was available in 1982 The machine had two settings, a low energy, 200-rad mode, and a x-ray mode of 25 million electron volt capacity. The low setting could be directly aimed at the patient whereas the high-energy mode had to aim at the patient through a thick tungsten shield. It was controlled through a terminal

THERAC-25 (2) In Texas, the technician entered mode "x" instead of the proper mode "e". Upon realization of the error the technician scrolled up to "Edit", corrected the mistake, hit "e" and then hit "Enter". The total time that it took for the sequence of events to occur was less then eight seconds Meanwhile, the patient was bombarded with 25 000- rads with 25 million electron volts, 125x the normal dose. The man died four months later

The Mars Climate Orbiter (MCO) Satellite The MCO was launched in December 1998 The MCO was lost after it entered the Martian atmosphere in September 1999

The Mars Climate Orbiter (MCO) Satellite The root cause was the use of an incorrect unit of measure when calculating the trajectory of landing While the software on board the MCO used metric units, a ground software file contained English units of pound-seconds

Tarkvaratehnika ajalugu Terminit tarkvaratehnika (software engineering) kasutati esimest korda NATO Software Engineering Conference 1968 raames Garmish- Partenkirchenis, Saksamaal See oli mõeldud ühe ideena, kuidas tulla toime tarkvaratööstuse kriisiga

Tarkvaratehnika point Tarkvaratehnika = tarkvara inseneeria Tarkvaratehnika on suunatud professionaalsele tarkvaraarendusele Tarkvaratehnika ei tegele tarkvaraarenduse endaga vaid sellega, kuidas organiseerida tarkvaraarendust

Mis on tarkvara(toode) Arvutiprogrammid + nende dokumentatsioon

Kvaliteetse tarkvara atribuudid Evib nõutud funktsionaalsust Hooldatav p Tarkvara peab arenema, et vastata muutuvatele vajadustele Usaldusväärne p Tarkvara peab olema töökindel Efektiivne p Tarkvara ei tohi raisata süsteemi ressursse Vastuvõetav p Tarkvara peab olema aktsepteeritud kasutajate poolt, kelle jaoks ta on loodud. See tähendab, et tarkvara peab olema arusaadav, kasutatav ja ühilduv teiste süsteemidega

Mis on tarkvaratehnika? Suuremastaabiline programmeerimine vrdl. väikesemastaabiline programmeerimine Engineers Australia definitsioon: Tarkvaratehnika on tiimide poolt rakendatav distsipliin tootmaks kõrgekvaliteedilist, suuremastaabilist ja hinnaefektiivset tarkvara mis rahuldab kasutajate nõudmisi ja mida saab hooldada teatud ajaperioodi vältel IEEE definitsioon: Tarkvaratehnika on süstemaatilise, distsiplineeritud ja mõõdetava lähehemisviisi rakendamine tarkvara arendamisele, käitamisele ja hooldamisele, see tähendab, inseneriteaduste rakendamine tarkvarale. Tarkvaraarendus on nõrgem termin, kus tingimata ei kasutata protsesse, tööriistu, standardeid, jne. Hallatakse ja kontrollitakse: p Kvaliteeti p Keerukust p Ressursse: eelarvet, aega, inimesi p Riske

Tarkvaratehnika huvigrupid Klient Arendaja Kasutaja

Tarkvaratehnika kui distsipliini eesmärgid Kuluefektiivne tarkvaraarendus Tarkvaraarenduse organiseerimine kogu tarkvara elukaare ulatuses, arvestades organisatsiooniliste ja rahaliste piirangutega Hõlmata tarkvaraarenduse kõiki aspekte, mitte ainult tehnoloogiad!

Millised on parimad tarkvaratehnika meetodid? Erinevat tüüpi meetodid erinevat liiki süsteemidele

Tarkvararakenduste liigid Kohalikud (stand-alone) rakendused, nt. MS Office ja fotode manipuleerimise süsteemid Interaktiivsed transaktsioonipõhised rakendused, nt. pangarakendused ja e-kaubanduse rakendused Mähisrakendused (embedded control systems), nt. ABS-pidureid ja mikrolaineahju kontrollivad süsteemid Andmetöötlusrakendused (batch processing systems), nt. arvete ja palgaarvestuse süsteemid Meelelahutusrakendused, nt. mängud Modelleerimis- ja simulatsioonirakendused Andmekogumisrakendused (data collection systems), nt. keskkonna kohta andmeid koguvad süsteemid Süsteemide süsteemid (systems of systems)

Mis on protsess? Protsess on sammude jada, mis hõlmab tegevusi, piiranguid ja ressursse mingit liiki tulemi loomiseks Näiteid protsessidest?

Mis on tarkvara arendusprotsess e. tarkvaraprotsess? Tarkvaraprotsess on sammude jada, mille eesmärgiks on tarkvara loomine ja haldamine Üldistatud tegevused tarkvaraprotsessides: p p p p Spetsifitseerimine mida süsteem peab tegema ja mis on piirangud tema arendamisel? Arendamine tarkvarasüsteemi tootmine Valideerimine kas toodetud tarkvarasüsteem on see, mida kasutaja soovis? Evolutsioon tarkvarasüsteemi muutmine vastavalt kasutajate muutuvatele nõudmistele

Plaanipõhine vs agiilne tarkvaraprotsess Plaanipõhine tarkvaraprotsess: kõik tegevused on ette planeeritud ja edu kriteeriumiks on plaani järgmine Agiilne tarkvaraprotsess: planeerimine toimub sammude kaupa töö käigus Kumb on õigem?

Tarkvaraprotsessi mudelite põhitüübid Kosk Iteratiivne arendamine

Kose mudel

Mis on kose mudeli puudused ja eelised? Puudused: p Saab kasutada ainult siis, kui nõuded on fikseeritud p Iga tarkvaraprotsessi etapp peab olema lõpetatud enne kui alustatakse järgmist etappi Eelised: p Plaanipärane arendus aitab koordineerida arendustööd suurte süsteemide loomisel, kui süsteemi arendatakse erinevates kohtades

Modifitseeritud kose mudel (mille poolest erineb?)

Iteratiivne arendamine

Iteratiivse arendamise eelised ja puudused Eelised: p Klient saab anda tagasisidet kogu tarkvaraprotsessi jooksul p Kliendi tagasisidet on odavam arvestada peab vähem ümber tegema p Klient saab hakata tarkvara varem kasutama Puudused: p Tarkvaraprotsess ei ole läbipaistev ega lõpuni dokumenteeritud p Tarkvarasüsteemi struktuur degradeerub (entroopia suureneb) vajadus kasutada koodi refaktoreerimist!

The Manifesto for Agile Software Development

The principles of agile methods Principle Customer involvement Incremental delivery People not process Embrace change Maintain simplicity Description Customers should be closely involved throughout the development process. Their role is provide and prioritize new system requirements and to evaluate the iterations of the system. The software is developed in increments with the customer specifying the requirements to be included in each increment. The skills of the development team should be recognized and exploited. Team members should be left to develop their own ways of working without prescriptive processes. Expect the system requirements to change and so design the system to accommodate these changes. Focus on simplicity in both the software being developed and in the development process. Wherever possible, actively work to eliminate complexity from the system. Chapter 3 Agile software development 43

Standish Group 2012

Riskide võrdlus

Agiilsete metodoloogiate maastik

Scrumi alused

Scrum

Potentially Shippable Product Increment

Kokkuvõte Tarkvaratehnika e. tarkvara inseneeria on professionaalsele tarkvaraarendusele suunatud distsipliin, mis tegeleb sellega, kuidas organiseerida tarkvaraarendust Tarkvaraprotsess koosneb tegevustest, mis on vajalikud tarkvaratoodete arendamiseks. Nende tegevuste organiseerimisega tegelebki tarkvaratehnika. Agiilne tarkvaratehnika on kindlate põhimõtete järgi organiseeritud iteratiivne tarkvara arendusprotsess Tarkvaratooted koosnevad valjatöötatud programmidest ja nende dokumentatsioonist Tarkvaratehnika eesmärgiks on kuluefektiivne tarkvaraarendus kogu tarkvaratoote elukaare ulatuses