26
www.bfi-gruppe.de BFI Unternehmensgruppe Projektarbeit für Fachinformatiker/ -innen BFI Software GmbH Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten BFI Software Name: Robert B Arnold Abgabedatum: 15.12.2017 Prüflingsnummer: **** Fachrichtung: Anwendungsentwick lung Prüfungsjahr: Winter 2017 Projektbetreuer: Mark Sokolov

file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

  • Upload
    dinhnga

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

www.bfi-gruppe.de BFI Unternehmensgruppe

Projektarbeit für Fachinformatiker/ -innen

BFI Software GmbH

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der

Hauptanwendung zu verwalten

BFI Software

Name: Robert B ArnoldAbgabedatum: 15.12.2017

Prüflingsnummer: ****Fachrichtung: AnwendungsentwicklungPrüfungsjahr: Winter 2017

Projektbetreuer: Mark Sokolov

Page 2: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

Inhaltsverzeichnis1 Einleitung............................................................................................................................

1.1 Unternehmensvorstellung.............................................................................................

1.2 Auftraggeber.................................................................................................................

1.3 Projektbeschreibung.....................................................................................................

1.4 Projektziele...................................................................................................................

1.5 Projektbegründung.......................................................................................................

1.6 Projektschnittstellen.....................................................................................................

1.6.1 Curriculum Vitae System......................................................................................

1.7 Projektabgrenzung........................................................................................................

1.7.1 Form Validation Module.......................................................................................

2 Projekt Vorbereitung..........................................................................................................

2.1.1 Projektphasen mit Zeitplanung.............................................................................

2.2 Auswahl der Platform...................................................................................................

2.2.1 Hardware...............................................................................................................

2.2.2 Operating system..................................................................................................

2.2.3 Frameworks...........................................................................................................

2.2.4 Software................................................................................................................

2.3 Vorbereitung der Entwicklungsumgebung...................................................................

2.3.1 Entwicklungsumgebung Software........................................................................

2.3.2 Visual studio Nuget Packages...............................................................................

3 Soll/Ist Analyse...................................................................................................................

3.1 Ist-Analyse...................................................................................................................

3.2 Soll-Konzept.................................................................................................................

4 Designphase........................................................................................................................

4.1 Datenbank.....................................................................................................................

4.1.1 Logical ER Model.................................................................................................

4.1.2 Physical ER Model...............................................................................................

4.2 Frontend.......................................................................................................................

4.2.1 Frontend Class diagram........................................................................................

4.3 Web API Backend........................................................................................................

4.3.1 Backend Class diagrams.......................................................................................

4.4 Activity Charts...........................................................................................................

5 Umsetzung........................................................................................................................

5.1 Frontend Umsetzung..................................................................................................

Robert Arnold 2 von

Page 3: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

5.1.1 Frontend Wireframe............................................................................................

5.1.2 Dropdown.model................................................................................................

5.1.3 Dropdown.module & Dropdown.Model Umsetzung..........................................

5.1.4 Dropdown.Services Umsetzung..........................................................................

5.1.5 Dropdown-Items & Dropdown-editor Component Umsetzung.........................

5.2 Backend Umsetzung...................................................................................................

5.2.1 Backend Wireframe............................................................................................

5.2.2 Classen Umsetzung.............................................................................................

5.2.3 Migrations/Entity Framework Konfigurierung...................................................

5.2.4 Controllers Umsetzung und konfigurierung.......................................................

5.3 Packaging und Deployment.......................................................................................

5.3.1 Dropdownbox Packageing..................................................................................

5.3.2 Dropdownbox Deployment.................................................................................

6 Tests..................................................................................................................................

6.1 Frontend Tests............................................................................................................

6.2 Backend Tests............................................................................................................

6.2.1 Datanbank Constraints........................................................................................

6.2.2 Controller Methods/Format Validerung.............................................................

7 Projektabschluss...............................................................................................................

7.1 Zeitlicher Soll-/Ist-VerGleich....................................................................................

8 Glossar..............................................................................................................................

Robert Arnold 3 von

Page 4: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

1 Einleitung

1.1 UnternehmensvorstellungDie BFI Software GmbH ist ein Teil der BFI Unternehmensgruppe und ist zuständig für folgende Tätigkeitsfelder:

Entwicklung von Individual software Third Level Support für Microsoft Produkte, PDF-CXhange, XMind Desktop Anwendungen für Windows (WPF, WinForms) Office Automatisierung (Word, Excel, Outlook, Access, VBA) Datenbankbasierte Web-Anwendungen (PHP, ASP.NET, MySQL, SQL Server)

[1.1] Vorstellung des Unternehmens

Seit 1998 agieren wir in vier eigenständigen Gesellschaften mbH in vier unterschiedlichen Bereichendoch eines haben wir gemeinsam: der Mensch steht im Mittelpunkt.

Die BFI Informationssysteme GmbH ist spezialisiert auf individuelle Personalanforderungen unserer Kunden. Im Rahmen der Arbeitnehmerüberlassung oder der Personalvermittlung stellen wir unseren Kunden Mitarbeiter in den Bereichen IT und Engineering zur Verfügung.

Als IT-Systemhaus unterstützt unsere BFI IT Service GmbH zukunftsorientiert in der kompletten IT-Infrastruktur. Ob klassisches Outsourcing bestimmter Teilbereiche, die Beschaffung Ihrer Hard- undSoftware oder die komplette Übernahme anstehender Projekte – wir unterstützen Sie durch innovative Lösungen.

Die passende Software, um Ihre unternehmensinternen Prozesse abdecken zu können, ist oft nicht als Fertiglösung verfügbar. Durch die BFI Software GmbH erstellen wir, basierend auf Ihren Bedürfnissen, die entsprechende Individualsoftware Ein weiterer Schwerpunkt ist die Entwicklung im Bereich MS Office (z.B. Makros, Datenbanken …) bzw. der MS Office Support (Telefonisch, remote, vor Ort).

Der Begriff Rapid Prototyping erhält immer mehr Popularität. Als starker Partner im Bereich 3D Druck und 3D Scan unterstützt die CHH IT Solutions GmbH unsere Kunden bei der (Neu-)Einführung von innovativen Lösungen in diesen Bereichen.

[1.2] AuftraggeberDie Auftraggeber dieses Projekts sind 2 Firmen der : BFI Unternehmensgruppe:

(im Einzelnen BFI Informationssysteme GmbH und BFI Software GmbH

Robert Arnold 4 von

Stanislav Evstafenko, 24.11.17,
In welchen dieser Unternehmen bist du eingestellt?
Stanislav Evstafenko, 24.11.17,
Ließt sich mehr wie eine Werbung, weniger al seine Vorstellung, das Problem ist wenn Leute keine Werbung lesen wollen und das schon zu Einleitung kommt sind sie demotiviert den Rest zu lesen.
Page 5: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

1.2[1.3] ProjektbeschreibungIn dem Hauptsystemvon Unternehmen enwickeltenentwickelten-einem ERP(Enterprise Resource PPlanning) System-werden viele eingaben gemacht in denen mehrere Auswahlmöglichkeiten existieren. Damit es für die Anwender einfacher ist häufig verwendete Werte die Häufig verwendet werden einzugeben, werden Dropdownboxen eingesetztverwendet. Z.B. für die Anreden, Standorte, Skills, Kenntnisse, etc.

Die Daten für die Dropdownboxen sind aktuell per Hand an den entsprechenden Stellen gepflegt.

Die gleichen Dropdownboxen werden an mehreren Stellen im n dem System eingesetzt, um zu vermindern Zeit Aufwand und Risiko beim Codieren

Die Daten für die Dropdownboxen werden von Programmierern gepflegt.

Robert Arnold 5 von

Stanislav Evstafenko, 24.11.17,
Kann zusammenkommen mit dem Pflegen.
Stanislav Evstafenko, 24.11.17,
Per hand in welchen Stellen? excel liste ? Text datei? SQL? die Unterscheidung zwischen IST und SOLL zustand ist irgendwie nicht ersichtlich. Du verwendest „“
Stanislav Evstafenko, 24.11.17, RESOLVED
Es wird von Hauptsystem gesprochen ohne das überhaupt auf etwas eingegangen worden ist. (gibt es ein neben System, wenn es Hauptsystem gibt? Müssen da keine Dropdown boxen eingefügt werden?)ERP beschreiben für was es verwendet wird warum das Unternehmen eins einsetzt und dann hat man den Kontext. Nachdem man den Kontext weiß kann man besser nachvollziehen wo etwas gemacht wurde. Nur weil wir „ERP“ kennen muss es nicht bedeuten das es jeder Informatiker kennt.
Page 6: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

1.3[1.4] Projektziele

„Die ERP Intranet Seite der BFI Unternehmensgruppe soll um weitere Funktionalitäten erweitert werden.

Es Soll Eine Oberfläche für Verwaltung unterschiedlicher Dropdownbox-Inhalten soll umgesetzt werden.Es soll eine Konfigurationsoberfläche erstellt mit der die Inhalte für DropDown Boxen verwaltet werden.

Die Inhalte der Dropdownbox sollen zentral in einer Datenbank gespeichert werden.

Dropdownbox soll auf eine einfache Art und Weise an unterschiedlichen Stellen des Systems eingesetzt werden. Hierbei soll anhand des DropDown Boxen Typ die passenden Inhalte aus einer Datenbank eingelesen werden. Dabei soll nur des Dropdownbox-Types eingesetzt werden (z.B. Anrede). Die Inhalte dazu werden automatisch aus der Datenbank bezogen.

Benutzer mit vorhandenen Berechtigungen sollen in der Lage sein die unterschiedliche Dropdownbox-Typen zu verwalten

Die Inhalte der Dropdownboxen sollen für jeden Mandanten unterschiedlich verwaltet werden können.

Es soll möglich sein eine Dropdown-Auswahl nicht mehr auswählen zu können, aber die bereits ausgewählte Werte müssen immer noch richtig angezeigt werden.

Dropdownbox soll verhindern der Benutzer von nicht richtig Format Speichern“

1.4[1.5] Projektbegründung

Das Modul soll probeweise in das Teilsystem „Curriculum Vitae“ eingesetzt eingebaut werden. und Wird wegen Zeitersparnis gründe Durchgeführt, der Dropdownbox wird einmal codiert und bei zugehöriger Components verwendet.

1.5[1.6] Projektschnittstellen1.5.1[1.6.1] Curriculum Vitae System Die Curriculum Vitae System ist die System Schnittstelle wo der Reference für der Dropdownbox Module wird gebaut.

Die apiEndpoint Wert für die Verbindung zwischen Dropdownbox Module und zugehöriger Backend Komponente wird beim diesem Schnittstelle auch über gegeben

Darunter steht ein Beispiel von Language-proficiencies Component beim Curriculum Vitae, und Wie ein Schnittstelle für der Dropdownbox ausschaut.

Robert Arnold 6 von

Markus Niestroj, 11.12.17,
Was ist hiermit gemeint
Stanislav Evstafenko, 24.11.17,
Gab es ein Lastenheft? “natürlich nicht bei uns aber du musst so tuna als wenn es eins gab. Einen Auszug aus diesem.
Page 7: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

1.6[1.7] Projektabgrenzungbeim der Dropdown Box Module, es ist notwendig zu wissen was ist Nicht ein Teil von dieser Dropdownbox Projekt, aber wird gebraucht.

1.6.1[1.7.1] Form Validation Module Die Form Validation Module sind ein Module das ist innerhalb der Dropdownbox gebaut und ist notwendig. Diese Form Validation Module überprüft dynamisch das der Data sind in die Richtige Format eingeben, wann nicht wird ein Format Error Message zurückgegeben.

2 Projekt Vorbereitung2.1.1 Projektphasen mit Zeitplanung

Die Projektphasen mit Zeitplanung für die Dropdownbox Projekt.

Projektphase Geplante ZeitVorbereitung: 4 stundenSoll/Ist Analyse: 6 stundenDesignphase: 10 stundenUmsetzung: 30 stundenTests: 10 stundenDokumentation: 10 stundenGesamt: 70 h

2.2 Auswahl der PlatformWährend der Entwicklung wurde diese Hardware Geräte, Operation System, Framework und Software verwendet

2.2.1 Hardware Desktop Rechner: (Intel i5, 8GB Ram, 1TB HDD) 2x TFT Monitor

2.2.2 Operating system Windows 10 Enterprise

2.2.3 Frameworks .Net Core 2.0

2.2.4 Software Server software

o Microsoft SQL Server Software Browser software

o Google Chromeo Mozilla Firefox

Code Bearbeitungo Visual Studioo Visual Studio Code

Dokumentation, Design und Planneno Microsoft Word 2016o Microsoft Paint

Robert Arnold 7 von

Page 8: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

2.3 Vorbereitung der EntwicklungsumgebungBeim der Entwicklungsumgebung wird diese Entwicklungsumgebung und Visual Studio packages extra verwendet.

2.3.1 Entwicklungsumgebung Software Node.js

o Open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side

Npmo package manager for the JavaScript programming language. It is the default package

manager for the JavaScript runtime environment Node.js

2.3.2 Visual studio Nuget Packages Microsoft.EntityFrameworkCore.InMemory

o In-memory database provider for Entity Framework Core (To be used for testing purposes).

Microsoft.AspNetCore.ALLo Collection of AspNetCore Dependencies

Microsoft.NETCore.Appo A set of .NET API’s that are included in the default .NET Core application model

3 Soll/Ist Analyse3.1 Ist-Analyse

Bisherige Situation beim Curriculum Vitae Projekt. Innerhalb der CV Projekt Sind par Komponente das Verwendet Ein html Dropdown box, beim Jeden Dropdown box sind Eigene Html, Methods, und Properties Codiert.

Jeden Dropdown box zu Codieren sind sehr Auswendig hat höher Risiko beim Syntax fahler zu Producieren.

3.2 Soll-Konzept

Beim Curriculum Vitae Projekt, zu verhindern Aufwand beim Codiern und zu vermidert Risko. Wird ein Module gebaut das wird einmal Codiert und beim gesproken Komponent Verwendet.

Dropdown Box Module hat zwei Haupt Aufgaben, Eine Komponente das Kümmert über Dropdown box Selbs, und eine Komponente das Kümmert über Einfügung von der Dropdownbox.

Robert Arnold 8 von

Page 9: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

4 Designphase

4.1 Datenbank Darunter Steht das Logical ER Model und das Physika ER Model. Language Proficiency und Skill Group ist nur Notwendig.

4.1.1 Logical ER Model

4.1.2 Physical ER Model Language Proficiency

ID NOT NULL UNIQUEIDENTIFIER PS1*

TENANTID NULL NVARCHAR(MAX)

NAME NULL NVARCHAR(MAX)

ACTIVE NOT NULL BIT

Skill GroupID NOT NULL UNIQUEIDENTIFIER PS2*

TENANTID NULL NVARCHAR(MAX)

NAME NULL NVARCHAR(MAX)

ACTIVE NOT NULL BIT

4.2 FrontendBeim Dropdownbox Front end sind diesem Class notwendig

4.2.1 Frontend Class diagram DropdownItem

+ Id: string+ Name: string+ Active: boolean

Robert Arnold 9 von

Page 10: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

4.3 Web API BackendBeim der backend, sind diesem Classen notwendig in der Dropdownbox Module

4.3.1 Backend Class diagrams

Robert Arnold 10 von

Page 11: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

4.4 Activity ChartsLegt vor sind eine UML Activity Chart vom ein Method aus der Dropdownbox Module. Die getitems() Method abholt der daten aus dem backend/Datenbank und liefert der daten zurück(wann verhandelt) .

Robert Arnold 11 von

Page 12: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

5 UmsetzungBeim Umsetzung fang ich an Mit der Anlegung von Dropdownbox Frontend, Danach Wird Dropdownbox Backend Umgesetzt, eingelich es ist nicht notwendig von welch Frontend oder Backend wird zuerst Umgesetzt.

5.1 Frontend UmsetzungUmsetzung vom Dropdownbox Module wird durch Visual Studio Code Codiert, ab und zu wird mini lauf Tests durch geführt noch Große Code Implementierung

5.1.1 Frontend Wireframe Beim der Anlegung vom dem Front end dropdownbox Module, wird zuerst Dem Wire Frame gestellt, I.E Namen von dem Einzelne Komponenten, Services, Models, Modules. Diese Wird gestellt durch Konsole Command Prompt beim Scaffolding oder danach als Einzelne Komponenten.

Danach wird Notwendig external pakages installiert für das dropdownbox Module, Z.b. Der Forms Validation Module.

Ein Bild wie der Dropdownbox Module Wire Frame ausschaut beim Visual Studio Code noch Scaffolding.

5.1.2 Dropdown.model dropdown.model Umsetzung Sind nur Notwendig zu weisen, es ist ein Basic Class das wird innerhalb diesem Module verwendet mit properties ID, Name, Active.

Robert Arnold 12 von

Page 13: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

5.1.3 Dropdown.module Beim Der Dropdown.Module Umsetzung müssen wir dem Deklaration, Imports, Exportes noch Korrigieren und Umsetzen wann nötig, meisten wird beim Scaffolding dargestellt,

Declarationso List von direktives/Pipes das zum diesem Module gehört.

Importso List von Modules deren Exporte direktives/Pipes soll beim diesem Module verfügbar.

Exportso List von direktives/Pipes/Modules das sind nutzbar innerhalb diesem Komponente,

Wann Andere Angular Module Imports diesem Angular Module. Providers

o definiert Injectable Objects das sind Verfügbar im Injektor dieser Module.

Hinweis: Teil von Dropdown.module aus dem Dropdownbox Module.

Robert Arnold 13 von

Page 14: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

5.1.4 Dropdown.Services Umsetzung Dropdown.Services umfasst der Methods von Http Requests. Der Methods kümmert über das Verbindung zwischen Frontend und Back end.

Hinweis: Teil von DropdownService aus dem DropdownBox Module

5.1.5 Dropdown-Items & Dropdown-editor Component Umsetzung Component.ts

o handelt Business Logik zwischen Html Komponente und Dropdown Services.o Kümmert Uber lokal properties das wird nur innerhalb dem Komponente benutz. o Handelt Error Handling

Component.Htmlo Handelt an der User Interface(Eingabe und Ausgabe)o Interface wo der Forms Validierung wird Implementiert.

Beispiel von Skillgroups wie ein

Component.scsso Sind nicht vorhandelt, wird vom andern Kollege der GUI design.

Component.spec.tso Sind nicht vorhandelt, Wird beim Project Darstellung gestellt, und nicht mehr

angefasst.

Robert Arnold 14 von

Page 15: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

5.2 Backend UmsetzungUmsetzung vom MUSS.CV(backend Teil von Dropdownbox Module) wird durch Visual Studio 2017 C# Codiert und ab zu wird mini lauf Tests durch geführt noch Große Code Implementierung oder Milestone. Nach der Neu Projekt wird dem Notwendig Packages durch nuget-package Manager installiert. (Z.b. Microsoft.AspNetCore.All)

5.2.1 Backend Wireframe beim Umsetzung vom MUSS.CV Wire Frame brauchen wir nur drei Zusätzlichen Orderner,

1. MUSS.CV.Common2. MUSS.CV.Features.Languages3. MUSS.CV.Features.Skills

Noch der Darstellung von dem Ordners wird innerhalb Languages und Skills Ordners zugehörig Classen implemtiert und beim CV.Common wird CVContext und Constants Classen implemtiert

Hinweis: Dem Classens sind Moment leer, wird später mit Properties Umgesetzt. Und Controllers wird auch später Implantiert.

Robert Arnold 15 von

Page 16: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

5.2.2 Classen Umsetzung

MUSS.CV.Commono CVContext Class:

handelt sich an Verbindung (Entity Framework) zwischen dem Features Ordner Classen und das Datenbank.

o Constants Class:Nur ein readonly String (BfiTenant = „BFIINFO“)Hinweis: sind Moment notwendig nur bei Test Purpose, später wird diesem Class weiter Konfiguriert mit aktual BfiTenant Info.

MUSS.CV.Features Classeno SkillGroup/SkillgroupDTO Class:

o LanguageProficiency/LanguageProficiencyDTO Class:

5.2.3 Migrations/Entity Framework Konfigurierung Startup.cs

o Beim Startup.cs mussen die Databank Connection Info Eingetragen. dieser info wird beim ConfigureServices Method eingefugt.public void ConfigureServices(IServiceCollection services){services.AddDbContext<CvContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));}

Appsettings.Development.json Konfigurierungo Hier wird das Database Connections Info Eingetragen

"ConnectionStrings": {"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=CV;Trusted_Connection=True;"},

Migrations UmsetzungNoch Startup und Appsettings sind angepasst, Konnte jetzt die Migrations bauen for Databank und EntityFramework.CMD Console( dotnet ef migrations add InitialCreate) Wird die umsetzung von Migrations und neu database mit dem eingetragen Name .CMD Console( dotnet ef database update ) populated Database mit tabelle und Constraints

Robert Arnold 16 von

Page 17: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

5.2.4 Controllers Umsetzung und konfigurierung Umsetzung vom Controllers wird durch Scaffolding gebaut, Notwendig es ist nicht, aber Spart Entwicklung Zeit.

Bei Scaffolding Auswahl wird (API Controller with actions, using Entity Framework) ausgewahelt. Nexte Kommt Auswahl von welch Model Class wird beim diesem Controller benutzt, Und Name der Entity Framework Class das wird benutzt (CVContext) End braucht wir nur ein Controller Name und Fertig.

Bedeutet: A neu Controller wird Angelegt mit Basic Actions, und Entity Manager properties bereits durchgeführt

Naturalich die Neu Controller muss Weiter konfiguriert, Basic Actions/Konfigurierung riecht beim unser Fall nicht.

Haupt sache beim weiter Konfigurierung, sind der DTO’s und Validierung richtig umgesetzt

Hinweis: Auschnit von ein ClassController mit [httpGet] method

Robert Arnold 17 von

Page 18: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

5.3 Packaging und DeploymentDas Dropdownbox module innerhalb der Curriculum Vitae Projekt verwendet konnte , Muss der Module Weiter Konfiguiert, so dass der Dropdownbox module als ein Angular package Erstellen Kann

5.3.1 Dropdownbox PackageingDer folgende sind ein Beispiel wie ein package wird hergestellt beim Angular npm package Manager.

Add ng-package.json and public_api.ts in root des DropdownBox projekt

Add die Folgendes zum ng-package.json:{"$schema": "./node_modules/ng-packagr/ng-package.schema.json","lib": {"entryFile": "public_api.ts"}}

Export header.module.ts vom public_api.ts(in die Datei schreiben):Bsp export * from ‘./src/app/dropdownbox/dropdownbox.module‘;

Add zu package.json: Beim “script“: "packagr": "ng-packagr -p ng-package.json" "name" ändern zu @bfi/<packetname> "version" anpassen "license" BFI In die Console schreiben:

npm run packagr (In root)npm pack

In root/dist Die .tgz datei aus dem dist Ordner Sind die neu package, jetzt es is berit zum benzuten.

5.3.2 Dropdownbox DeploymentNoch der packageing von Dropdownbox, Jetzt Konnte es verwendet beim ander Angular projekt in user fall dass Curriculum Vitae projekt.

Vom ander Angular projekt In die Console schreiben: npm install …/some-relative-path/dist/Dropdownbox-o.o.o.tgz

Noch der module ist Installerit, muss Dropdownbox module importiert noch Curriculum Vitae projekt innerhalb das app.module.ts component beim Curriculum Vitae.

Robert Arnold 18 von

Page 19: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

6 TestsUm sicherzustellen das, dass entwickelte Module wie geplant funktioniert, wurden Frontend sowie Backend Tests durchgeführt. Diese wurden wären der Entwicklung händisch durchgeführt. Die Tests verliefen am Ende erfolgreich. es gibt par Komplikationen beim der Dropdownbox Module, aber Sind Schnell erledig.

[6.1] Frontend TestsWährend der Entwicklung des DropDown Modules wurden das Frontend je nach Entwicklungsstand geprüft. Dabei wurde auch darauf geachtet, dass die richtigen Inhalte angezeigt werden. Im Anschluss wurde ebenfalls ein Auge daraufgelegt, dass die Darstellung der Dropdownboxen je nach länge des geladenen Inhalts immer korrekt und vollständig ersichtlich ist.

Beim der Dropdownbox Module wird nur Method Funktionalität überprüft. Und wird per Milestone getestet(noch der Method Umsetzungen).

Ein Beispiel Test beim der Update Method. der Update Method sollen nicht nur Data noch backend liefern, aber auch die Data beim der Dropdown box/List einfüllen und nur wenn Die Data sind beim Backend Gespeichert. zu end sollte der Dropdown box/List zurück noch die Original zustand.

[6.2] Backend TestsBeim der backend Test wird Controller Methods, Datenbank Constraints, und Format Validierung überprüft. Und wird per Milestone überprüft(noch der Controller Method oder Gesprächen Milestone Umsetzungen).

6.1.1[6.2.1] Databank Constraints Naoch der Migrations Umsetzungen wird wurden derdie Datenbank Constraints üÜberprüft. Ddasie folgende Beispiel sind ein Beispiel zeigt die Struktur vom Skill Entity aus dem MSSQLLocalDB Datenbank. ‚Diese Struktur kann direkt über über Visual Studio 2017 eingesehen werden. Und Kann genau alle Constraints, Foreign Keys, Datentyps anschauen.

[6.2.2] Controller Methoden Methods /Format Validerung Beim testen der Controller Klassen wurden Haltepunkte im Quellcode verwendet. Diese Haltepunkte kommen zum Einsatz um während der Programmlaufzeit das Programm an bestimmten stellen anhalten zu können.

Durch das Debuggen konnte ich den Controller Syntax sowie die Daten prüfen welche in beim Controller angekommen sind. Desweiterem konnte ich prüfen ob die Daten richtig in die Datenbank geschrieben werden.

Robert Arnold 19 von

Markus Niestroj, 11.12.17,
Umformulieren, keine Milestones verwenden, wenn keine angegeben sind
Page 20: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

Auf die gleiche Art und weise prüfe ich auch die Validierung. Der Test beim Class Controller Wird durch ein Visual Studio Debugg Session überprüft. Wird Halte punkte beim Code Gesetz und wenn Ein Method Wird ausgeführt, wird Der Session gehalten beim Der Gesprächen Halte Point.

Bedeutet: Durch die Debugg Session Konnte Ich Der Controller Syntax Genau anschauen ab Welche Data Kommt in der Controller rein, Wie es Wird bei Datenbank Gespeichert, oder Warum Data Wird nicht beim Datenbank Gespeichert.

Mit die Gleich Art Wird auf Validerung Uberprüft.

Robert Arnold 20 von

Page 21: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

7 Projektabschluss

7.1 Zeitlicher Soll-/Ist-VerGleichProjektphase Geplante Zeit Tatsächliche ZeitProjekt Vorbereitung 4 stunden 4 stundenSoll/ist Analyse 6 stunden 6 stundenDesignphase 10 stunden 8 stundenUmsetzung 30 stunden 32 stundenTests 10 stunden 10 stundenDokumentation 10 stunden 10 stundenGesamt 70 stunden 70 stunden

Bei Der Soll-/Ist-Vergleich sind Designphase 10 Stunden nicht gebraucht, Das Datenbank Design Phase sind nicht so drastisch wie beim andere Datenbank Designs.

Der Umsetzung Phase hatten zwei Stunden Mehr Zeit gebraut, weil sind par neu Thema das ich muss zuerst einarbeiten.

Robert Arnold 21 von

Page 22: file · Web viewProjektarbeit für Fachinformatiker/ -innen. BFI Software GmbH. Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu

Entwicklung eines Moduls um die Daten für die Befüllung der Dropdownboxen in der Hauptanwendung zu verwalten.

8 GlossarNode.js Open-source, cross-platform JavaScript run-time

environment for executing JavaScript code server-side

Npm package manager for the JavaScript programming language. It is the default package manager for the JavaScript runtime environment Node.js

Microsoft.EntityFrameworkCore.InMemory In-memory database provider for Entity Framework Core (To be used for testing purposes).

Microsoft.AspNetCore.All Collection of AspNetCore DependenciesMicrosoft.NetCore.App A set of .NET API’s that are included in the

default .NET Core application model

Robert Arnold 22 von