Specifikace softwarového díla & Časový plán implementace. pro. MEF Editor

Podobné dokumenty
Podpora skriptování v Audacity

Minerva TPV+ TPV funkcionalita v QAD. David Pochman Senior konzultant

Bc. Martin Majer, AiP Beroun s.r.o.

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Seznámení s prostředím dot.net Framework

43 HTML šablony. Záložka Šablony v systému

Novinky. Autodesk Vault helpdesk.graitec.cz,

Dotyková obrázovká v prográmu TRIFID

Příloha č. 1 Verze IS esyco business

1. Uživatelské rozhraní

Návod k ovládání aplikace

BENCHMARKING VENKOVA. Uživatelská příručka nástroje ehomer.cz. Verze dokumentu: 1.1

Dotyková obrázovká v prográmu TRIFID

Microsoft Office 2003 Souhrnný technický dokument white paper

.NET Framework verze Program pro připojení ke vzdálené ploše (RDC) verze

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Mapová aplikace HZS Ústeckého kraje

UŽIVATELSKÁ PŘÍRUČKA MODUL EVIDENCE A REALIZACE VEŘEJNÉ PODPORY

Nemocnice. Prvotní analýza a plán projektu

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

1 Filozofie knihy jízd

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

UNIVERZITA PARDUBICE

MBI - technologická realizace modelu

Zpravodaj. Uživatelská příručka. Verze

Svolávací systém Uživatelský manuál

Dotykova obrazovka v programu TRIFID

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro editaci ŽS. Verze 1.

Specifikace projektu Ocerus

BALISTICKÝ MĚŘICÍ SYSTÉM

E-NABÍDKA PARTNER.REDA.CZ

Reliance 3 design OBSAH

ArcGIS Online Subscription

Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu.

Formy komunikace s knihovnami


Uživatelská příručka

Pracovní balíček 10 Nástroje pro optimalizaci výrobních a lidských zdrojů. Příloha 2 Dílčí výstup: Nástroj pro rozvrhování lidských zdrojů

Festivalova mobilnı aplikace

UŽIVATELSKÁ PŘÍRUČKA

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

Osnova. Koncept a použití prezentací. Seznámení s pracovním prostředím MS Word Režimy zobrazení. Užitečná nastavení. Základní práce s dokumenty

Aktuální výběr, nad kterým je kurzor myši

Digitální mapa veřejné správy Plzeňského kraje - část II.

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

Výběr a instalace mobilního terminálu. II. Používání čárových kódů v katalogu položek. III. Tisk etiket s čárovými kódy

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

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Constructo. Uživatelská příručka

Nástrojová lišta v editačním poli

Přínos SEKM pro NIKM

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Wonderware Information Server 4.0 Co je nového

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Obsah. 1.1 Práce se záznamy Stránka Dnes Kontakt se zákazníkem... 5

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice

Výtisk č.: Počet listů 19. Přílohy: 0 ÚZIS ČR. Role žadatel - postup

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Průvodce aplikací FS Karta

Pravidla a plánování

5 ÚVOD DO TESTOVÁNÍ SOFTWARE. 6 Testování software ve vývojovém prostředí MICROSOFT VISUAL STUDIO V hlavním menu volba Debug

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Postupy práce se šablonami IS MPP

Globema CS s.r.o. NetStork. Popis funkcí

Agentura ochrany přírody a krajiny ČR Odbor vývoje a správy aplikací

Manuál pro mobilní aplikaci Patron-Pro. verze pro operační systém Symbian

Versiondog Lukáš Rejfek, Pantek (CS) s.r.o. 7/2014

Část 3 Manuál pro správce

ZEMĚMĚŘICKÝ ÚŘAD. Uživatelská příručka - Metadatový editor MDE. Pod Sídlištěm 9/1800, Praha 8. Verze IS nebo části IS: Účel poslední změny:

Úvod. Program ZK KASA EET. Základní vlastnosti programu. Co program vyžaduje. Určení programu. Jak program spustit. Uživatelská dokumentace programu

Nápověda k aplikaci EA Script Engine

Newsletter RIBTEC automatické aktualizace Praktická novinka v servisu a podpoře k softwaru RIBTEC od verzí 15.0

A4300BDL. Ref: JC

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

NOVINKY v PROGRAMU DOCHÁZKA ADS

Návod na základní používání Helpdesku AGEL

AC FORM FILLER. aplikace pro podání žádosti o poskytnutí finančního příspěvku. Verze 1.0

Návod pro práci s aplikací

Doplňky slovníku SPOT

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

SolidWorks. SW je parametrický 3D modelář a umožňuje. Postup práce v SW: Prostředí a ovládání

6. Efektivní správa papírových dokumentů v organizaci a jejich digitalizace

ŠTÍTKOVÁNÍ. informativní manuál pro uživatele HelpDesku

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

AC FORM FILLER. aplikace pro podání žádosti o poskytnutí finančního příspěvku. Verze z 13

Popis obsahu a návod k používání mapové aplikace Stav pokrytí NGA v ČR

Program Půjčovna sportovních potřeb

Použití prezentací. K heslovitému sdělení informací. Oživení obrázky, schématy, tabulkami, Nevhodné pro dlouhé texty. Doprovodná pomůcka při výkladu

24 Uživatelské výběry

Popis obsahu a návod k používání mapové aplikace Stav pokrytí NGA v ČR

Asistivní technologie a dohledové systémy Dyslexie čtení pomocí okénka

APS Administrator.GS

Migrace na aplikaci Outlook 2010

Příručka rychlého spuštění

Jídelníčky WEB NÁVOD

Rozdílová dokumentace k ovládání IS KARAT.net

Transkript:

Specifikace softwarového díla & Časový plán implementace pro MEF Editor Cílem projektu je vytvoření pluginu do vývojového prostředí Visual Studio 2010. Plugin bude umožňovat grafickou editaci objektů spojených s technologií Managed Extensibility Framework v jazyce C#. 1.0.0 Vodolán Miroslav 6.8.2011

Obsah 1. Základní informace...1 1.1 Popis a zaměření softwarového díla... 1 1.2 Použité technologie... 1 1.3 Odkazy (Reference)... 1 2. Stručný popis softwarového díla...2 2.1 Důvod vzniku softwarového díla a jeho základní části a cíle řešení... 2 2.2 Hlavní funkce... 2 2.3 Motivační příklad užití... 2 2.4 Prostředí aplikace... 3 2.5 Omezení díla... 3 2.6 Dokumentace díla... 3 3. Vnější rozhraní...3 3.1 Uživatelské rozhraní, vstupy a výstupy... 3 3.2 Rozhraní se software... 3 4. Detailní popis funkcionality...4 4.1 Zobrazení schématu kompozice... 4 4.2 Přidání CompoisitionPoint metod do schématu... 4 4.3 Přidání CompositionContainer objektu do schématu... 4 4.4 Přidání CompositionCatalog objektu do CompositionContainer objektu... 4 4.5 Přidání komponenty do CompositionContainer objektu... 4 4.6 Odebírání objektů... 5 4.7 Kolapsování CompositionCatalog objektu... 5 4.8 Změna vlastností CompositionCatalog a CompositionContainer objektů... 5 5. Obrazovky...5 5.1 Obrazovka 1... 5 5.2 Obrazovka 2... 5 5.3 Obrazovka 3-n... 5 6. Ostatní (mimofunkční) požadavky...6 8. Negativní vymezení...6 9. Time-line & Milestones...6 10. Poznámky...7

Tabulka revizí Jméno Datum Důvod změny Verze Vodolán Miroslav 6.8.2011 Počáteční verze textu specifikace 1.0.0

Základní informace Popis a zaměření softwarového díla Managed Extensibility Framework je zajímavá technologie nabízející nástroje pro usnadnění tvorby rozšiřitelných aplikací pod.net. Zatím však neexistuje software pro pohodlnou vizualizaci a editaci způsobu komponování jednotlivých částí aplikace. V rozsáhlejších projektech může vývojář ztratit přehled o jednotlivých zdrojích knihoven a jejich vzájemné spolupráci a provázanosti. Popisovaný projekt se snaží vytvořit plugin integrovaný do Microsoft Visual Studia 2010, který by umožňoval přehledné zobrazení komponent a dokázal by editovat jejich interakce v pro MEF typických způsobech použití. Cílovým jazykem pro editor bude C#. Bude však obsahovat podporu pro rozšíření o další.net jazyky. Editor bude také rozšiřitelný o některé další funkčnosti týkající se zpracování a interpretování zdrojových kódů. MEF Editor si klade za cíl pracovat výhradně se zdrojovými kódy editovaného projektu bez pomocných konfiguračních souborů. Tato vlastnost umožňuje prohlížení kompozice rozpracovaných projektů stejným způsobem jako u zkompilovaných aplikací. Použité technologie Microsoft.NET Microsoft Visual Studio 2010 Managed Extensibility Framework Windows Presentation Foundation Odkazy (Reference) Webové stránky Microsoft.NET o http://www.microsoft.com/net/, Microsoft, 2011 Webové stránky Microsoft Visual Studio 2010 o http://www.microsoft.com/visualstudio/en-us, Microsoft, 2011 Webové stránky Managed Extensibility Framework o http://mef.codeplex.com/, MEF community, 2011 Webové stránky Windows Presentation Foundation o http://msdn.microsoft.com/en-us/library/ms754130.aspx, Microsoft, 2010

Stručný popis softwarového díla Důvod vzniku softwarového díla a jeho základní části a cíle řešení Důvodem vzniku je poskytnutí chybějícího editoru pro práci s Managed Extensibility Framework ve Visual Studiu. Editor bude navržen jako Visual Studio Package, využívající existující API pro spolupráci s Visual Studiem (Zejména interakce se zdrojovými kódy projektu). Grafické rozhraní editoru bude postavené na technologii WPF. Editor bude složen z těchto hlavních částí grafické rozhraní editoru engine pro parsování zdrojových kódů engine pro interpretaci zdrojových kódů engine pro interpretaci MSIL knihoven engine pro vykreslování Hlavní funkce MEF editor bude umožňovat: zobrazení komponent v rozpracovaném C# projektu zobrazení komponent v knihovnách, které se zúčastňují kompozice zjištění způsobu kompozice komponent v typických případech použití MEF pomocí interaktivního rozhraní měnit kompozici komponent ve zdrojovém kódu definice vlastního vzhledu jednotlivých komponent rozšíření o podporu dalších.net jazyků rozšíření o definice objektů podílejících se na interpretaci Motivační příklad užití V projektu s naprogramovanými komponentami chce uživatel definovat způsob jakým se mají zkomponovat. Po spuštění editoru se zobrazí seznam komponent dostupných v projektu Požadovanou cílovou komponentu přidá do nějakého Composition containeru Metodou drag and drop do stejného containeru zkopíruje další komponenty Do containeru ještě přidá například DirectoryCatalog Dle zobrazených závislostí zkontroluje zda projekt vypadá dle jeho představ Prostředí aplikace Editor bude odladěn pro Visual Studio 2010 a Visual Studio 2010 Service Pack 1, z čehož vyplývá závislost na operačním systému Windows. Většina funkční logiky bude však

v samostatných dynamicky linkovaných knihovnách zkompilovaných pod.net Framework 4.0, tudíž nebudou přímo závislé na Visual Studiu. Omezení díla Pro účely projektu bude plugin odladěn pouze pro Visual Studio 2010 a Visual Studio 2010 Service Pack 1 pod Windows 7. Dokumentace díla K programu bude vytvořena dokumentace týkající se všech možných rozšíření editoru s ukázkou implementace těchto rozšíření. Vnější rozhraní Uživatelské rozhraní, vstupy a výstupy Hlavním uživatelským vstupem bude WPF okno zobrazující schéma kompozice. Pro editaci vlastností Comoposition containerů a catalogů budou uživateli zobrazována patřičná vstupní okna. (Například klasické windows okno pro výběr zdrojové složky DirectoryCatalogu). Editor bude průběžně reagovat i na uživatelské změny přímo ve zdrojovém kódu patřičnou obnovou schématu. Pokud editor narazí na jazykovou konstrukci, kterou nezná, případně dojde k jiné chybě, kterou je nutné uživateli ohlásit, zobrazí se ve spodní části okna editoru TextBox se seznamem chyb. Výstupem editoru bude zobrazované schéma kompozice a změny prováděné přímo do uživatelského zdrojového kódu. Rozhraní se software 1.1.1 Začlenění editoru do Visual Studia Editor bude využívat předpřipravenou funkcionalitu Visual Studia 2010 určenou pro tvorbu vlastních rozšíření. Po vytvoření projektu typu Visual Studio Package dostaneme předpřipravený plugin, který lze snadno upravit pro potřeby MEF Editoru. 1.1.2 Interakce editoru s načteným projektem Visual Studio nabízí pro účely interakce mezi pluginem a editorem objekt splňující rozhraní EnvDTE.DTE, pomocí kterého lze přistupovat k FileCodeModel a CodeModel objektům rozpracovaného projektu. Pomocí nich lze provádět editace přímo ve zdrojovém kódu.

Detailní popis funkcionality Zobrazení schématu kompozice Po spuštění editoru z kontextového menu Visual Studia editor prohledá rozpracovaný projekt a zobrazí schéma kompozice. Se všemi objekty i závislostmi jichž se kompozice týká. Přidávání CompositionPoint metod do schématu. Editor nabízí uživateli možnost upřesnit metodu v projektu, kde dochází k důležitým operacím v rámci kompozice. Také umožňuje specifikovat metodu určenou pro výstup editoru. Tato metoda se v rámci projektu jmenuje CompositionPoint. Editor pracuje s defaultními CompositionPoint metodami bezparametrickými konstruktory v komponentách a metodách volaných z nějakého CompositionPoint takových, že mají vliv na kompozici. Explicitní CompositionPoint můžeme do schématu přidat označením libovolné metody v projektu atributem MEFEditor.CompositionPointAttribute. Parametry atributu budou použité jako argumenty pro volání takto označené metody. Pokud zadané argumenty nebudou platné pro danou metodu, editor toto oznámí uživateli v chybovém výstupu. Přidání CompositionContainer objektu do schématu. Editor zjistí jaké má k dispozici CompositionContainer objekty (má sadu integrovaných a je možné ho o další uživatelsky rozšířit). Po pravém kliknutí na CompositionPoint patřičné komponenty vybereme v kontextové nabídce položku přidat CompositionContainer. Výstupem je příslušná změna ve zdrojovém kódu a změna schématu. Přidání CompositionCatalog objektu do CompositionContainer objektu Editor zjistí jaké má k dispozici CompositionCatalog objekty(má sadu integrovaných a je možné ho o další uživatelsky rozšířit). Po pravém kliknutí na CompositionContainer vybereme v kontextové nabídce položku přidat CompositionCatalog.Výstupem je příslušná změna ve zdrojovém kódu a zobrazení CompositionCatalogu s komponentami, které obsahuje, ve schématu. Přidání komponenty do CompositionContainer objektu. Uchopením patřičné komponenty a jejím přetažením nad CompositionContainer ve stylu drag and drop změní kurzor myši tvar podle toho, zda je možné danou komponentu přidat či nikoliv. Pokud je změna možná, editor provede po puštění příslušnou změnu ve zdrojovém kódu a překreslí schéma. Pokud změna možná není, neprovede editor žádné změny. Odebírání objektů Pravým kliknutím na patřičný objekt ve schématu otevřeme kontextovou nabídku a vybereme položku Odebrat. Dojde k odebrání příslušného objektu ze zdrojového kódu a patřičné změny schématu. Pokud objekt nemá v kontextovém menu položku pro odebrání, znamená to, že editor odebrání tohoto objektu nepodporuje.

Kolapsování CompositionCatalog objektu Pro větší přehlednost schématu je možné CompositionCatalog, zobrazený ve schématu, kolapsovat. Poté se CompositionCatalog zobrazuje podobně jako komponenta jsou vidět importy a exporty, které CompositionCatalog poskytuje jako celek. Je však skryta jeho vnitřní struktura, která někdy nemusí být důležitá. Změna vlastností CompositionCatalog a CompositionContainer objektů Editor rozpozná jaká nastavení lze u CompositionCatalog a CompositionContainer objektů editovat. Tyto editace se zobrazují v kontextové nabídce objektů ve schématu. Po vybrání příslušné editace se zobrazí okno, které uživateli umožní změnu provést. Obrazovky Obrazovky není možné v této fázy projektu pořídit. Finální vzhled aplikace bude určen až po zkušenostech z používání při dolaďování editoru. Obrazovka 1 <Obrázek obrazovky.> <Popis této obrazovky.> Obrazovka 2 <Obrázek obrazovky.> <Popis této obrazovky.> Ostatní (mimofunkční) požadavky MEF Editor bude odladěn pouze pro Microsoft Visual Studio 2010 a Microsoft Visual Studio 2010 Service Pack 1 pod Windows 7. Nebude však používat nic co by bránilo jeho použití v jiných verzích systému Windows. Negativní vymezení Není v možnostech editoru přesně zobrazit každou situaci. Editor je koncipován tak, aby umožňoval editace v typických případech použití technologie MEF.

Time-line & Milestones Datum Milník Způsob prezentace 02/04/2011 Získání kompletních informací o kompozici. Vytvoření HookedContaineru, který umí měnit a sledovat průběh kompozice. 27/04/2011 Vytvoření funkčního pluginu pro Visual Studio a navázání spojení s rozpracovaným projektem. konzultace konzultace 12/05/2011 Implementace parseru zdrojového kódu. konzultace 24/06/2011 Implementace interpreteru zdrojového kódu a vytvoření objektového modelu používaného v celé aplikaci. Zprovoznění interpreteru MSIL kódu. 07/07/2011 Zprovozněn koncept CompositionPoint. Integrace do Visual Studia. Fungují reakce na změny ve zdrojovém kódu. konzultace tento dokument, kód projektu 15/07/2011 Implementace editací zdrojového kódu tento dokument, kód projektu 05/08/2011 Projekt má implementovanou většinu funkčnosti. Editoru chybí grafické rozhraní. tento dokument, kód projektu Dodatek A: Vymezení pojmů CompositionCatalog objekt. rámci projektu je takto nazýván objekt odvozený od: System.ComponentModel.Composition.Primitives.ComposablePartCatalog Umožňuje do projektu načíst komponenty z různých zdrojů (například DirectoryCatalog). CompositionContainer objekt. V rámci projektu je takto nazýván objekt umožňující přidávání komponent (například CompositionBatch).

CompositionPoint, CompositionPoint metoda V rámci projektu je takto nazývána metoda, která je považována za důležitou z hlediska kompozice. Dodatek B: To Be Determined List V této fázy vývoje projektu nebylo možné přidat do specifikace obrazovky z použití editoru. Bude také nutné vypracovat dokumentace a příklady pro rozšíření editoru. Poznámky Tato specifikace je více než inspirována těmito šablonami: Software Requirements Specification by Karl E. Wiegers SAFE Development System Requirements