teisipäev, 12. september 2017

12.09.2017 | 2x Programmeerimine

Tegime edasi ja arendasime eelmisest tunnist jäänud nimelühendamis programmi. Hetkel sai valmis töötava programmi. Kasutasime Netbeansi. Tegime vahepeal ka uue programmi, et vana ära ei rikuks.

esmaspäev, 11. september 2017

11.09.2017 | 4x Tarkvara arendusprotsess

http://www.opfro.org/
http://www.umsl.edu/~sauterv/analysis/F08papers/View.html

CASE vahendite liigutus
A. Fuggetta liigitab CASE vahendid 3 gruppi:
 * Tööriistad (Tools) toetavad tarkvara elutsükliga seotud üksikuid tegevusi
 * Tööpingid (Workbenches) kombineerivad 2 või enamat tööriista, millised on mõeldud toetamaks tarkvara elutsükli kindlat osa
 *  Keskkonnad (Environments) kombineerivad 2 või enamat tööriista või tööpinki ja toetavad tarkvara arenduse elutsükli kõiki tegevusi


Tasuta versioon diagramiide tegemiseks
https://creately.com/ 

Kasutuslood süsteemi peamiste kasutajate tevegused on näidatud sellel

4.1 Kasutuslugude kirjeldused
Tekstilause, mis teatab, mis on tables 1
Kasutuslugu ->  Andmete vaatamine
Käsutajad -> Bsitroo kassapidaja
Eesmärgi kontekst -> Võimaldab käsutajal kasutajate andmeid näha
Eeltingimused -> KAS olemasolu ja vastav teenskonto on rakenduse käivitanud
Käivitav sündmus -> kiipkaardi kasutamine
Stenaarium ->
 1) Õpilane soovib kasutada toidukompentsatsiooni;
 2) Viipab kiipkaardiga;
 3) Kasutaja andmeid kontrollitakse andmebaasis (AB);
 4) Käsutaja registreerib kompensatsioonisumma ja kasutamata osa AB-s;
 5) Kasutaja nime kuvatakse käsutajale;
Erisused -> Kasutaja kaart on registreeritud;
Järeltingimused -> Kasutaja poolt kasutatud kompensatsiooni suurus


Tegime ka virtuaalmasinasse virtuaalmasinaid

neljapäev, 7. september 2017

07.09.2017 | Agiilsed tarkvaraarendus metoodikad

MoSCoW - Must have, should have, could have and won't have.
DSDM põhitegevused: Timeboxing, prototüüpimine, töötoad, modelleerimine ja seadistuste haldus
Configuration management puudutab nõudeid sellele tarkvarale.
https://codeborne.com/et/

FDD - Feature driven development
Tehakse järgnevusskeem
Most affordable, flexible and powerful requirements management tool
LSD - Learn software development
  1. Eliminate waste
  2. Amplify learning
  3. Decide as late as possible
  4. Deliver as fast as possible
  5. Empower the team
  6. Build integrity in
  7. See the whole 
Kanban board is one of the tools that can be used to implement the Kaban method for a project.
Kanban is a method for visualizing the flow of work, in order to balance demand with available capacity and spot bottlenecks.
 https://trello.com/

Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: Requirements are turned into very specific test cases, then the software is improved to pass the new tests, only.
 

kolmapäev, 6. september 2017

06.09.2017 | 2x Tarkvara arendusprotsess ja 2x Progammeerimine

Characteristics of Incremental Model
1. Süsteem jagatakse väiksemateks osadeks
2.Osasüsteemid luuakse, et luua lõpusüsteem
3.Kõigepealt realiseeritakse kõige kõrgemad nõuded
4. Osa nõue on külmutatud, kui kasvav osa on välja töötatud.

Refaktoorinmine - varasemad moodulid saad ümber kirjutada kasutades uusi

 
Throwaway prototype - äravisatud prototüüp
Breadboard - elektroonika prototüüpide ehitusbaas
 

Manifesto for Agile Software Development

Üksikisikud ja suhtlemine protsesside ja tööriistadega
Töötarkvara üleüldise dokumentatsiooni puhul
Kliendi koostöö lepinguliste läbirääkimiste üle
Reageerimine muutustele kava järgimisel

Pildiotsingu Project XYZ Iteration burndown tulemus
Agile software development values
1. Team
2. Application
3. Collaboration
4. Change

Agile software development principles
1. Kliendi rahulolu
2. Teretulnud nõuete muutmine hilises etapis
3. Töötava tarkvara tarnimine sageli
4. Tihe igapäevane koostöö äriinimeste ja arendajate vahel
5. Projektid on üles ehitatud motiveeritud üksikisikutele, keda tuleks usaldada
6. Face-to-face vestlus on parim suhtlemisviis (ühispaiknemine)
7. Tööprogramm on edu peamine mõõde
8. Säästev areng, mis suudab pideva tempo säilitada
9. Pidev tähelepanu tehnilisele kvaliteedile ja heale disainile
10 .Lihtsus - töömahu maksimeerimise kunst ei ole veel tehtud - on oluline
11. Parimad arhitektuurid, nõuded ja disainilahendused ilmnevad enesekorraldusmeeskondadest
12. Regulaarselt peegeldab meeskond efektiivsuse muutmise ja kohandab vastavalt


ASD - Adaptive software development
Sõna spekulatsioon viitab planeerimise paradoksile - on tõenäolisem eeldada, et kõik sidusrühmad on projekti missiooni teatud aspektide osas võrdlemisi valed

Agile modeling - Tarkvarasüsteemide dokumenteerimiseks ja modeleerimiseks



Dokumentatsioon:
1. Dokumenteeri pidevalt
2. Dokumenteeri hiljem
3. Executable specifications
4. Kindlas kohas dokumentatsioon

AUP - Agile Unified Process
Discipline:
1. Model
2. Implementation
3. Test
4. Deployment
5. Configuration Management
6. Project Management
7. Environment

DAD - Discipline agile delivery
Protsessiraamistik mis võimaldab lihtsustatult teha protsessi kohta otsuseid
 Lifecycle:

 

esmaspäev, 4. september 2017

05.09.2017 | Agiilsed tarkvaraarendus metoodikad

SDM, SDM2  (System Development Methodology) on tarkvara arenduse meetod arendatud välja PANDATA poolt Hollandis.










Feasibility - teostatavusuuring
SOAR - Tugevused, võimalused, innustused ja tulemus
TOWS - Internal factors - Strengths and Weaknesses
               External factors - Oppurtunities, Threats

The Build-Measure-Learn-Feedback loop

SSADM - Structured systems analysis and design method
 6 stages
 Stage 0 - Feasibility study
 Stage 1 - Investigation of the current enviroment
 Stage 2 - Business system option
 Stage 3 - Requirements specification
 Stage 4 - Technical system options
 Stage 5 - Logical design
 Stage 6 - Physical design

SSM - Soft systems methodology
 7 stages
 Stage 1 - Enter situation considered problematical
 Stage 2 - Express the problem situation
 Stage 3 - Formulate root definitions of relevant systems of purposeful activity
 Stage 4 - Build conceptual models of the systems named in the root definitions
 Stage 5 - Comparing models with real world situations
 Stage 6 - Define possible changes which are both possible and feasible
 Stage 7 - Take action to improve the problem situation

OOP - Object-oriented programming
RAD - Rapid-application development
  
DSDM - Dynamic system development method
1. Focus on the business need
2. Deliver on time
3. Collaborate
4. Never compromise quality
5. Build incrementally from firm foundations
6. Develop iteratively
7. Communicate continiously and clearly
8. Demonstrate control

TSP - Team software process
 KLOC - 1,000 rida koodi
 MLOC - 1,000,000 rida koodi


NÕUDED, DISAIN, RAKENDAMINE, TESTIMINE, KOODIMINE

04.09.2017 | Agiilsed tarkvaraarenduse metoodikad

Esimesel tunnil rääkisime praktikast. Hiljem projekti juhtimisest ja majandamisest.
Teisel tunnil kvaliteedinõuetest. Kaskaadmudel on tarkvaraarenduse metoodika.
Nõuded -> Disain -> Realiseerimine -> Testimine -> Hooldus
 
Koskmudel on sobivam kasutamiseks väiksemates projektides, kuna arendamise käigus on raske tagasi pöörduda eelmiste etappide juurde.