Kvalitatīva sistēmanalīze - labas veiktspējas atslēga gints.plivna@gmail.com
Kas es esmu? Pieredze darbā ar Oracle kopš 1997 Oficiālais amats sistēmanalītiķis Rix Technologies Pasniedzu Oracle SQL un PL/SQL kursus BDA Autors vienam no diviem online informācijas avotiem par datubāzēm latviešu valodā () LVOUG biedrs
Sistēmanalīze daži būtiskākie aspekti Tā nav vienkārša visu prasību pierakstīšana Tā ietver funkcionālo prasību analīzi attiecībā pret nefunkcionālajām, tai skaitā ātrdarbības, drošības utt. prasībām Ar specifikāciju var iegūt apmierinātu klientu īstermiņā Ar darboties spējīgu programmatūru var iegūt apmierinātu klientu ilgtermiņā
Kas notiek, ja nedomā par sekām?
Dažas tipiskākās problemātiskās prasības
Meklēšana + lapošana (paging) Lapošana cauri visiem sameklētajiem sakārtotajiem ierakstiem No 1M kopējiem ierakstiem atlasa desmito daļu un attēlo pa 50 vienā lapā Vai kāds jebkad ir apskatījis visas 2000 lapas? Vienmēr jāsakārto visa datu kopa (vai vismaz jācaurskata visi, lai atrastu visus pirmos attēlojamos) Meklējam ne vairāk kā N + 1, sakārtojam un attēlojam N ar paziņojumu, ka atrasti vairāk
Meklēšana pēc apakšvirknes Meklēšana pēc patvaļīgas apakšvirknes %kautkas% vai a_a_as Nosaukums satur ievadīto kritēriju Meklēšanā drīkst izmantot aizstājējzīmes % un _ Krustvārdu mīklu risināšanas programmu mēs neveidojam! Meklē pēc kautkas% teksta laukā no sākuma parasts indekss Ja ļoti nepieciešams, var indeksēt tekstu un meklēt katru vārdu atsevišķi Oracle text Meklē bez diakritiskajām zīmēm, neņemot vērā lielos/mazos burtus linguistic indexes
Domas lidojuma virsotne Jābūt meklēšanas iespējai visos datubāzes teksta laukos Tātad nezinām, kur meklēt Nezinām, ko glabājam Ir nojausma, ko meklēt (meklējamā frāze) Bet google taču to dara un pie tam tik ātri! Lietojam googli!
Kas ir meklēšana? Meklēšana nav statistika Meklēšana nav atskaites Meklēšanai ir jāstrādā ātri + =?
Statistika un aprēķini Statistiskas info attēlošana datu ievades ekrānformās Lietotājam ir 4354 neatbildēti jautājumi Lietotājs ir veicis par 3,75% vairāk darbību nekā lietotāji vidēji pagājušajā mēnesī Kuram tas rūp? Statistikai ir domātas atskaites! Ja ļoti vajag, attēlojam kādu viegli atrodamu info, piemēram pēdējos 10 jautājumus Ja ļoti ļoti ļoti vajag, tad attēlojam atvasinātu info, kuru periodiski (vai pēc fakta) atjauno
Audits Jāauditē visas veiktās darbības Bankas mēneša apstrādes procesam, kas analizē katru transakciju, auditēt visas veicamās darbības Katru nakti jāatjauno informācija no ārējās sistēmas par visiem objektiem attiecīgi katru nakti visiem izmaiņu audits gada laikā datu apjoms vismaz 365kāršojās Auditēt selektīvi Izmaiņas veikt tikai tad, ja kas patiesi mainījies Jāparedz iespēja no audita periodiski tikt vaļā
Nemainīgas (reti mainīgas) informācijas iegūšana Formā jāattēlo pašreizējā lietotāja vārds un uzvārds Pirms darbības veikšanas jāpārliecinās, vai lietotājam ir tiesības to veikt Informācija jākešo Pakotnes mainīgie Aplikāciju servera kešs Statiskas datnes (html), u.c. Tā ir tīri implementācijas problēma!
Kā no tā izvairīties? Noskaidro patieso mērķi! Nemēģini ar vienu šāvienu nošaut divus (daudzus) zaķus! Domā, kā to implementēsi! Pārzini tehnoloģijas (vismaz konceptu līmenī)! Iemācies pateikt nē! Bet...... piedāvā labākas (ātrākas, drošākas,...) alternatīvas!
Jāprogrammē nolemta prasība Informē par faktu! Vadītāju, klientu, atbildīgo personu... Izskaidro, kāpēc! Atbildīgajām personām saprotamā valodā Dokumentē informēšanu! E-pasts,... Pluss - iespēja būt pareģim Mīnuss izmantojot ļaunprātīgi var kļūt par ņauduli un čīkstētāju
Mazefektīvi līdzekļi (Tikai) klusēt un darīt risks palikt vainīgajam Novērtēt N reizes dārgāku nekā patiesībā risks iegūt N reizes neapmierinātāku klientu Prioretizēt prasības (MoSCoW) visām nolemtajām prasībām uzlikt pašu zemāko prioritāti, der tikai lielākiem projektiem
Ātrdarbība nav tikai implementācijas problēma Ir jāanalizē biznesa loģika, nevis biznesa neloģika