Skip to content

Latest commit

 

History

History
43 lines (41 loc) · 4.78 KB

tuntikirjanpito.md

File metadata and controls

43 lines (41 loc) · 4.78 KB

Tuntikirjanpito

päivä käytetty aika (h) toimenpiteet
Viikko 1
25.7. ~ 5 Aiheeseen perehtyminen
26.7. ~ 5 Aiheeseen perehtyminen
27.7. 5 Projektin pystytys, dokumentoinnin kirjoitus, aiheen tarkennus
Viikko 2
31.7. 8 Vigenere cipherin toteutus ja sen testit, Keyed Vigenere salauksen aloitus
1.8. 6 Toteutus transposition cipher ja sen testit, ja alustava Keyed Vigenere
2.8. 5 Transposition cipherin jatkamista, Autokey Vigenere cipherin toteutus ja testit, dokumentaation päivittämistä
3.8. 5 Javadocin kirjoittamista luokille, mutaatiotestauksen(?) kokeilu, jacoco- ja javadoc-raporttien luonnin testaus, käyttöliittymä (jota ei vielä edes ole) poistettiin testauskattavuudesta, Keyed Vigenere cipherille testejä
Viikko 3
6.8. 1 Salauksen murtamisen alkutoimia ja tutkimusta
9.8. 11 IndexOfCoincidence ja FrequencyAnalysis -luokkien avulla Vigenere cipherin murtamista eli salausavaimen löytämistä (alustava koodi, ei refaktoroitu), apuluokkia ja -algoritmeja (mm. suurin yhteinen tekijä)  
10.8. 8 Lisää testejä, javadocin täydennystä, tutkimusta, dokumentaation kirjoitusta, iteratiivinen euclid
Viikko 4
13.8. 8 Geneerinen merge sort 1. versio, geneerinen insertion sort sekä näille + primitiivityyppi järjestysalgoille testejä, yleistä testikattavuuden parantamista, yleistä tutkimusta
15.8. 8 Testikattavuuden kasvattamista erityisesti IndexOfCoincidence luokalle ja samalla yhden virheen korjaus, testejä varten tiedoston IC_test.xlsx luonti, jonka avulla lasketaan testisyötteitä ja johon dokumentoidaan myös testejä
16.8. 9 Testien luonnin jatkoa, työmäärältään hyvin massiivisen testin luonti IndexOfCoincidence-luokalle taulukkolaskentaohjelman avulla ja jo testattujen oman ohjelman funktioiden avulla (osajonojen tulostus ja osajonon dekryptaus jokaisella aakkosella), Perehtymistä Transposition cipherin murtamiseen
17.8. 15 Transposition cipherin murtaminen lyhyillä avaimilla käyden läpi kaikki avaimen kirjainten järjestysten permutaatiot läpi, quad-, tri, bi ja monogram statistiikan laskeminen tekstitiedostossa olevan datan perusteella, permutaatioiden generointi, kaikille näille testejä. Dokumentaation päivittämistä
Viikko 5
18.8. 1 Combinatorics-luokan optimoinnin kokeilua (josta lopulta vain taulukoiden int[] -> byte[] muutos päätyi koodiin), Ngrams -luokan tekstitiedoston lukemisen virhetilanteille testejä
20.8. 3 Hajautustaulujen toteutukseen liittyvä tutkimus
21.8. 6 Lisää tutkimusta, kahteen suuntaan linkitetyn listan toteutus ja testit, ja yhteentörmäykset ketjutuksella ratkaisevan perushajautustaulun toteutuksen aloitus
22.8. ~ 8 Hajautustaulun (HashTable luokka) sekä linkitetyn listan uudelleensuunnittelu ja toteutus, Vigenere cipherin ja sen varianttien refaktorointi siten että hajautustataulu on tarpeeton, Hill climbing algoritmin tutkimusta
23.8. 8 HashedSet luokan ja sille oman kahteen suuntaan linkitetyn listan luonti mallintamaan suurinpiirtein Javan HashSettiä, Hill climbing algoritmin aloittelu, dokumentaation lisäys
24.8. 7 Graafisen käyttöliittymän hyvin karu ei-refaktoroitu luonnos, missä nyt olemassa toiminnallisuus siirtyä päävalikosta salaukseen ja takaisin, mutta ei vielä liitettyä algoritmillista toiminnallisuutta, testikattavuuden nosto, dokumentoinnin päivitys
Viikko 6
25.8. 6 Käyttöliittymään lisätty kaikkien salausten perustoiminnallisuus ilman syötteentarkistusta (ja ilman tekstin manipulointityökalua, joka toivotavasti tulossa), samalla KeyedVigenereCipher refaktoroitiin siten että aakkostoavaimen voi muuttaa set-metodilla
26.8. 2 Dokumentoinnin päivitys ja käyttöliittymässä alustavien ohjetekstien lisäys eri salauksille
27.8. 6 Lehmer random number generaattorin luonti ja testit
28.8. 11 Käyttöliittymään 1. versio murtamistoiminnallisuudesta, HillClimber luokan päivitys
29.8. ~ 5 Vigenere cipherin murtamisen algoritmistamisten yritelmiä
30.8. 2 Kuvien ja ohjelman toimintaa kaappaavan gifin lisäys dokumentaatioon tukemaan kommentointia
31.8. ~ 10 Salauksen murtamisen suorituskykytestauksen suunnittelu ja ensimmäinen toteutus sekä testiaineiston luonti, yleistä dokumentaation päivitystä
Viikko 7
3.9. 6 Plaintext-testiaineiston täydentämistä sopivan pituisilla teksteillä
4.9. 5 Vigenere-salauksen murtamisen suorituskykytestin luonti ja dokumentointi, HashTable ylivuotolistojen pituuksien testauksen aloitus
5.9. HashTable:n (ja sitä kautta HashedSetin) ylivuotolistojen pituuksien testaus
7.9. 7 Suortiuskykytestauksen viimeistely, dokumentoinnnin täydentäminen