Dotazy na event #6334

Podobné dokumenty
Dokumentace, konfigurační řízení

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

PŘÍLOHA C Požadavky na Dokumentaci

Softwarový proces Martin Hlavatý 4. říjen 2018

30/10/2017. Odhady, nabídky, měření a historie. Dotazy na event #L554

SOFT-ENG ACADEMY 2017/2018

Odhady, nabídky, měření a historie

Maintenance. Tomáš Krátký, Bohumír Zoubek

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat

Softwarový proces Bohumír Zoubek 1. říjen 2018

Dotazy na event #E256

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele

Configuration Management

Rozvoj a údržba systémů

TREND POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

Obecné informace o cvičeních

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Úvod do softwarového inženýrství a týmového vývoje

2012 STÁTNÍ ÚSTAV PRO KONTROLU LÉČIV

Specifikace rozhraní. Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů. Martin Falc, SW architekt.

Vývoj informačních systémů. Přehled témat a úkolů

EXTRAKT z mezinárodní normy

Vývoj aplikací JIRA. Jiří Kala Životní cyklus verzí produktů a jeho pokrytí nástrojem ke správě požadavků (Atlassian JIRA).

nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

M4 PDF rozšíření. Modul pro PrestaShop.

Aplikace pro srovna ní cen povinne ho ruc ení

Dokumentace software

CASE nástroje. Jaroslav Žáček

CASE. Jaroslav Žáček

TECHNICKÁ SPECIFIKACE PŘEDMĚTU PLNĚNÍ

Procesní dokumentace Process Management. Pavel Čejka

MBI - technologická realizace modelu

BISON. B udování a I mplementace S oftwarových O pen source N ástrojů, z. s.

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

PŘEDSTAVENÍ - KAREL HÁJEK Nasazení SD ve skupině ČEZ

Dokumentace pro plánování a realizaci managementu jakosti dle požadavků

Administrační systém ústředen MD-110

Vývoj informačních systémů. Přehled témat a úkolů

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS.

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

TECHNICKÉ POŽADAVKY NA NÁVRH, IMPLEMENTACI, PROVOZ, ÚDRŽBU A ROZVOJ INFORMAČNÍHO SYSTÉMU

Příloha č. 1 Servisní smlouvy. Katalog služeb. S2_P1_Katalog služeb

Aktuální otázky provozu datových skladů PAVEL HNÍK

Metodika analýzy. Příloha č. 1

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

A1 Marketingové minimum pro posílení výchovy k podnikavosti (8h)

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Návrh softwarových systémů - softwarové metriky

JIŘÍ ROUN NABÍDKA SPOLUPRÁCE SW DOKUMENTARISTA WEB: MOBIL:

Manuál k programu RIZIKA

Přizpůsobení Layoutu aplikace. Základní moduly a funkčnost aplikace

Odhady, nabídky, měření a historie

3. Software Bakaláři Kompletní školení

SOFTWAROVÉ INŽENÝRSTVÍ 1

Analýza a design na reálném projektu. Richard Michalský

Řízení SW projektů. Lekce 3. Projektové procesy a znalostní oblasti. přednáška pro studenty FJFI ČVUT. zimní semestr 2012

CMMI-DEV v.1.3 PA Configuration management

Modul Konfigurace MTJ Service, s.r.o.

Krajská koncepce e-gov

Elektronická technická dokumentace Bc. Lukáš Procházka

Příloha č. 1. Systém webových stránek města Česká Lípa. I. Vymezení předmětu VZ

Instalační manuál. Uživatelská příručka informačního systému. Popis postupu nastavení zabezpečené komunikace s CDS pomocí aplikace MS Outlook 2007.

Allegro účetnictví. Schéma účetního modulu. Podstatné vlastnosti. Allegro Business Solution Účetnictví

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Formy komunikace s knihovnami

Analýza a design na reálném projektu. Richard Michalský

CobiT. Control Objectives for Information and related Technology. Teplá u Mariánských Lázní, 6. října 2004

Specifikace předmětu plnění Datová tržiště

Co nového ve spisové službě? Národní standard pro elektronické systémy spisové služby a jeho optimalizace

přes webový prohlížeč pomocí Ing. Tomáš Petránek

Problémové domény a jejich charakteristiky

Mib:S4Road přechod k SAP S/4HANA. Jiří Palát

BEP Plán realizace BIM - Šablona

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Dobrý SHOP Popis produktu a jeho rozšíření

TÉMATICKÝ OKRUH Softwarové inženýrství

Základy analýzy. autor. Jan Novotný února 2007

TIA na dosah Advanced Engineering System. SIMATIC PCS 7 Verze 8.01

Katalog služeb a podmínky poskytování provozu

Vývoj informačních systémů. Obecně o IS

PŘEHLED FUNKCÍ PROGRAMU KROK ZA KROKEM

Workflow sdíleného projektu ve VisualParadigm

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1

Návod k požadavkům ISO 9001:2015 na dokumentované informace

Studie webů automobilek

27/11/2017. Business analýza a sběr požadavků. Dotazy na event #G865

Správa verzí souborů na cvičení

Návrh softwarových systém. Návrh softwarových systémů

Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12

Zavádění projektového řízení ve společnosti

Zprovoznění vybraných částí systému PROXIO pro zefektivnění vnitřních procesů odboru dopravy ÚMČ Praha 8

Zhodnocení architektury podniku. Jiří Mach

BI-TIS Případová studie

Konvence testování navazujících evidencí Metodický popis testování a evidence testů navazující evidence Verze: 2.0 Datum:

Allegro fakturace. Schéma fakturačního modulu. Podstatné vlastnosti. Allegro Business Solution Fakturace

Základy programování Zdrojový kód, dokumentace, týmová práce

Prezentace CRMplus. Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách

Transkript:

Dokumentace, konfigurační řízení Bohumír Zoubek, Michal Petřík 7. února 2018 Dotazy na https://www.sli.do event #6334 1

Téma dnešní přednášky 1. Základní členění dokumentace 2. Poznatky z praxe 3. Konfigurační řízení 4. Diskuze PROJECT MANAGEMENT / QUALITY ASSURANCE / DOCUMENTATION / CONFIGURATION MANAGEMENT / RELEASE MANAGEMENT / DEVOPS 3 Základní členění dokumentace 2

Proč dokumentace? Člověk zapomíná, dokumenty nikoliv Komunikační prostředek V rámci týmu, s vedením projektu, se zákazníkem Záznamy o domluvách a dohodách Co, kdy, s kým se dojednalo Zdroj informací Pro uživatele a administrátory systému Pro poučení, inspiraci do budoucna (plány, odhady, ) Pro budoucí údržbu Pro externí partnery, 5 Standardní klasifikace DOKUMENTACE Metodická (popis procesu tvorby SW) Procesní (popis procesu vývoje a údržby SW produktu) Produktová (popis SW produktu) 6 3

Standardní klasifikace Metodická popis přístupu k metodice tvorby SW Definice procesů Popis metodiky vývoje Popis procesu analýzy Definice nároků Podoba reportů / šablony Projektové stránky Rychlost aktualizace dokumentace = rychlost aktualizace metodik Typický problém jak propagovat změny v metodikách 7 Standardní klasifikace Metodická dokumentace 8 4

Standardní klasifikace Metodická dokumentace 9 Standardní klasifikace Procesní dokumenty popis procesu vývoje a údržby SW produktu Schedules (plány a odhady) Používány k odhadům a řízení SW procesu Reports (zprávy) Přehled o užívaní prostředků během vývoje dosažena pracnost, plnění termínů, Working papers (pracovní dokumenty) Často hlavní komunikační prostředek mezi členy vývojového týmu a vedením projektu Tato dokumentace se stává velmi rychle neaktuální Co s ní po ukončení vývoje? 10 5

Standardní klasifikace Procesní dokumenty Plány, odhady, zprávy Zdroj know-how pro příští plánování Srovnání s realitou Nezbytné uchovat (jak?) Pracovní dokumenty Často zbytečné uchovávat Nutné ale dobře zvážit (jeden nikdy neví ) Současné verzovací nástroje pomohou 11 Standardní klasifikace Produktové dokumenty popis SW produktu Uživatelská Introductory manual, Functional description System reference manual System installation document System administrator s manual System integration manual Systémová Business requirements / odkaz na business zadání Specifikace, architektura, design Výpis zdrojového kódu s komentáři Validační dokumenty (testování, ) Dokumenty údržby (známé chyby, závislost na infrastruktuře, dopady na návrh systému, ) Mění se stejně rychle jako aplikace (..měla by se měnit ) 12 6

Standardní klasifikace Komu mají dokumenty sloužit? Dělení dle zkušenosti Zkušení uživatelé seznam funkcí, popis Nezkušení uživatelé Screenshoty Detailní postupy Typické případy užití (scénáře) Dokument pro nováčka / rozcestník Dělení dle rolí Dokumentace pro koncové uživatele Dokumentace pro administrátory Dokumentace pro integrátory Dokumentace pro návrh GUI, UX, SEO, 13 Poznatky z praxe 7

Poznatky z praxe I Konzistence dokumentace Dokumentace je jedna z reprezentací systému Dokumentace nabízí mnoho pohledů na systém Tyto pohledy se v mnohém překrývají Je nutné udržovat všechny reprezentace systému konzistentní Netriviální úloha Forma dokumentace Dokumenty MS Word, MS Excel, PDF, txt HTML / Web Diagramy UML,... E-maily Záznamy v issue tracking systému (Jira, Youtrack,...) 15 Poznatky z praxe I Forma dokumentace Forma dokumentace si zaslouží malou zastávku Základní textový popis je vždy lepší než jen mít to v hlavě Strukturovaný text je ale lepší (například se dají odkazovat sekce) HTML již umožní lepší provazby a vyhledávání, definuje klíčová slova (nadpisy, odkazy, zvýraznění, tabulka, obrázek, ) Rich-text nástroje (Word, OpenOffice) umožní lepší formátování, revize CMS systémy (Confluence, ) umožní koncentraci know-how a snazší provazby/vyhledání Model jeden obrázek za tisíc slov psaný text vs stavový diagram Může obsahovat i psaný text, přesnou specifikaci chování z jednoho modelu lze generovat více dokumentací lze generovat i zdrojové kódy! Čím větší strukturovanost tím více rozmyšleno dopředu Je nutné zvážit poměr cena x výkon, investice se ale vyplatí! 16 8

Poznatky z praxe I Forma dokumentace 17 Poznatky z praxe I Forma dokumentace 10 - Vyřazeno blokováním Optimalizace při importu z rozhraní nebo od ČKP. Pokud daná PU/ŠU/PN ještě není v ČKP, jsou tímto označeny všechny související záznamy v kmeni. Pokud již proběhla editace, jsou takto označeny všechny záznamy s výjimkou toho, který provádí akci zrušení. [Import z rozhraní] Initial [Import z rozhraní] [Import z rozhraní] [Import z rozhraní] [Import z rozhraní] 12 - K ruční editaci Indikuje chybu z rozhraní. Nastane např. při záznamu registrace PU, pro které není ŠU v rozhraní, apod. Stav nastaví import, pokud je záznam určen k dalšímu zpracování. Stav je dočasný: další fáze importu ho převede na stavy 1,2 nebo 3. [Blokován (typ Ukončení), Zrušení] [Import z rozhraní nebo ČKP] [Transformace podelementů] 11 - Vyřazeno závislostí 0 - Importov aný 9 - Vyřazeno zrušením 3 - Ruční editace [Transformace podelementů v pořádku] [Import z rozhraní nebo ČKP] [Import z ČKP] [Editace proběhla] [Import z ČKP] [Chyba při transformaci podelementů] Záznam je vyřazen na základě blokování PU/ŠU/PN. Nevyřazuje záznamy pro ukončení. Pokud blokace nastala po registraci PU/ŠU/PN, nevyřazuje také záznamy zrušení. [Import z rozhraní nebo ČKP] 1 - Připravený Záznamy v těcho 2 - Připravený s varováním stavech jsou vybírány k odeslání do ČKP. [Import z ČKP] 8 - Vyřazený s chybou [Import z ČKP] Nataven při blokaci pro záznamy typu Ukončení a Zrušení (optimalizace: pokud není odeslán do ČKP nějaký záznam, označit vše stavem 9 - Vyřazeno zrušením) [Editace] 13 - Odstraněno editací [Editace] Všechny připravené změnové záznamy se převedou do stavu 7 - Vyřazeno chybou, záznamy typu Zrušení a uzavření se převedou do stavu 3 - Ruční editace (optimalizace: pokud nebylo registrováno, označit vše související stavem 9 - Vyřazeno zrušením). [Export do ČKP] 4 - Odeslaný [Export do ČKP] [Import z ČKP] [Import z ČKP] [Import z ČKP] 5 - Přijatý OK 6 - Přijatý s varováním 7 - Přijatý s chybou Zpracování pokračuje dalším připraveným záznamem. 18 9

Poznatky z praxe II Struktura dokumentace Závislá na obsahu, ale určitá pravidla existují Identifikace projektu, dokumentu, typ dokumentu Autor, schvalovatel Aktuální verze, historie Distribuční seznam Stupeň důvěrnosti Abstrakt, klíčová slova, copyright Seznam pojmů, zkratek Obsah, členění na kapitoly, podkapitoly Rejstřík Úprava stávající dokumentace x popis změny Nový dokument popisující úpravu Aktualizace stávající dokumentace po úpravě 19 Poznatky z praxe III Orientace v dokumentaci Velmi rychlý růst objemu dokumentace Primárně dokumenty průběhu projektu Nutná efektivní správa Použití jednotných šablon Jednotný jazyk Logická struktura Jasně určené místo a formát uložení dokumentů Kam psát novou věc, než založím nový dokument? Použití automatických generátorů Rozcestník 20 10

Poznatky z praxe IV generovaná dokumentace 21 Poznatky z praxe IV generovaná dokumentace 22 11

Poznatky z praxe IV generovaná dokumentace 23 Poznatky z praxe IV poctivě udržovaný popis 24 12

Konfigurační řízení Konfigurační řízení - příklad CS_revize_issue346_draft.docx CS_revize_issue346_v1.0.docx CS_revize_issue346_v1.1_revize_jm.docx CS_revize_issue346_v1.2_revize_ar_upraveno.docx CS_revize_issue346_v1.1.1_final.docx 2017-11-05_CS_revize_issue346_v1.2_revize_jm.docx CS_revize_issue346_v1.3_revize_ar_upraveno_final.docx 2017-11-07_CS_revize_issue346_v1.2_final_odeslano.docx 26 13

Konfigurační řízení - příklad CS_revize_issue346_draft.docx CS_revize_issue346_v1.0.docx CS_revize_issue346_v1.1_revize_jm.docx CS_revize_issue346_v1.2_revize_ar_upraveno.docx CS_revize_issue346_v1.1.1_final.docx 2017-11-05_CS_revize_issue346_v1.2_revize_jm.docx CS_revize_issue346_v1.3_revize_ar_upraveno_final.docx 2017-11-07_CS_revize_issue346_v1.2_final_odeslano.docx přijde vám to povědomé? a která verze tedy platí v jaký okamžik? 27 Konfigurační řízení - příklad co když je dokumentů více? 2017-11-07_CS_analýza_v1.2.docx 2017-11-24_CS_design_v0.8.docx 2017-11-01_CS_analýza_v1.9.docx? 2017-12-19_CS_design_v1.3.docx 2018-02-13_CS_analýza_v2.0.docx 2018-01-08_CS_userguide_v2.0.docx a nyní si to představte u tisící/milionů souborů při vývoji 28 14

Konfigurační řízení - příklad Akceptační Předprodukční Produkční Class A Class B Class A Class B Class A Class B Nový vývoj Změna A (ruší závislost na B) Class A* Class B Class A* Class B Class A Class B Chyba v produkci Nutnost opravy A i B?????????????????? Class A** Class B* 29 Konfigurační řízení - příklad Jakou verzi tříd A a B budeme na produkci nasazovat? Jakou verzi třídy A a B budeme upravovat? Jak zajistíme, že třída A bude k třídě B ve správné verzi? co když najdeme chybu na předprodukci? Musíme přesně vědět, které jednotky spolu v čase souvisí Musíme podporovat různé obsahy pro různá prostředí 30 15

Terminologie Softwarový produkt Úplný soubor počítačových programů, postupů, související dokumentace a údajů (dat), určený pro dodání uživateli Softwarová položka Jakákoliv identifikovatelná část softwarového produktu v průběžném nebo v konečném stadiu vývoje Změnové řízení Požadavek na změnu funkcionality vzhledem k dohodnutému řešení Konfigurační řízení Zajištění plného řízení konfigurace softwarového produktu a související dokumentace v průběhu životního cyklu Nejedná se ale nutně o konfiguraci systému! 31 Jak zajistit? Jednotné názvy souborů s definovanou strukturou: YYYY-MM-DD_Unit-ProjectID-AreaID-version.extension Definovaná pravidla pro strukturu a povýšení verze 2.3.18 x 2.4 x 3.0 Definovaná pravidla pro distribuci dokumentů a synchronizaci úprav Důsledné plnění hlavičky souborů včetně shody verze v hlavičce a názvu souboru Použití verzovacího systému Identifikace verzí souvisejících dokumentů Co platilo v čase T? 32 16

Pohled metodik SWEBOK Zdroj: http://swebokwiki.org/images/c/ca/software-configuration-management.jpg 33 Pohled metodik ITIL / ITSM Zdroj: http://os.itil.org/en/vomkennen/itil/servicetransition/servicetransitionprozesse/serviceassetconfigurationmgmt.php 34 17

Pohled metodik ISO Zdroj: https://upload.wikimedia.org/wikipedia/commons/7/7f/confiurationactivitymodel.png 35 Kontrola verzí 18

Kontrola verzí Identifikace a evidence (nejen) SW položek Typy SW položek? Které spadají pod kontrolu verzí a které ne? Co s těmi, které pod kontrolu verzí nespadají? Identifikace SW produktu Práce na více verzích současně Návrat ke konkrétní verzi Různá data pro různá prostředí Technická realizace nástroje: SVN, GIT, Mercurial, TFS, prostředky: revision number, tag, branch, 37 Verzování a dokumenty? 38 19

Řízení změn Řízení změn Identifikace Typy změn Vazba na zadání/specifikaci/požadavek Vazba na kontrolu verzí Definovaný proces (odpovědnosti, přechodové stavy, ) Pro prostředí ČS si lze představit jako dílčí požadavky v Jira Technická realizace Email Excel Bugzilla Youtrack Jira Trac Mantis 40 20

Ukázka CM - proces 41 Ukázka CM - implementace 42 21

Ukázka CM - implementace 43 Ukázka CM - Implementace 44 22

Plánování SCM Plán konfiguračního řízení Minimálně musí zajistit toto: Znám stav artefaktů projektu, se kterými pracuji (dokumentace, kódy, konfigurace, data, ) Přesně vím, podle jakého zadání a jakými vstupy se daná funkcionalita vytvářela Musíme být schopni zreprodukovat změny, které byly realizovány známe bázi artefaktů, aplikovaných změn, jejich stav, Kdy se vše typicky ověří? PŘI HAVÁRII / SELHÁNÍ Vycházíme ze stavu zálohy a aplikujeme změny ( pak je lepší být připraven, než rozčarován) 46 23

Poznatky z praxe Poznatky z praxe Jasný, srozumitelný a udržovaný SCM proces CM a různá prostředí vývoj, akceptace, předprodukce, produkce, CM a různé typy SW položek programy, data, konfigurace, schémata, dokumentace, Souběžné verze SW produktu vývoj příští verze vs. oprava něčeho staršího v produkci CM a různé fáze SDLC zásadní rozdíl mezi vývojem a údržbou Správné využití nástrojů dobře vybrat a dobře používat Většina z nás dané podvědomě dělá, občas ale každý jinak Použití nástrojů velmi usnadní život zvažte je a používejte 48 24

Diskuze 49 Děkujeme za pozornost Profinit EU, s.r.o. Tychonova 2, 160 00 Praha 6 Telefon + 420 224 316 016 Web www.profinit.eu LinkedIn linkedin.com/company/profinit Twitter twitter.com/profinit_eu 25

Ukázka CM - proces 51 Jak zajistit? Zajistit evidenci všech částí SW produktu Zajistit identifikaci všech částí SW produktu i celku jako takového Zajistit, že provádění změn SW produktu samotný produkt nepoškodí Zajistit možnosti získat přehledostavu částí SW produktu 52 26