Generator Ofert – Komentarze

Wprowadzenie

Oprogramowanie Generator Ofert zosta­ło zapro­jek­to­wa­ne prze­ze mnie dla Biura Polonijnego Kancelarii Senatu. Zadanie jakie dosta­łem to opra­co­wa­nie wyma­gań (Opis Przedmiotu Zamówienia) na apli­ka­cję, która:

  • pozwa­la skła­dać wnio­ski na dofi­nan­so­wa­nie pro­jek­tów Polonii z całe­go świata,
  • skła­dać wnio­ski sta­no­wią­ce for­mu­la­rze o bar­dzo roz­bu­do­wa­nej i zmien­nej w cza­sie struk­tu­rze, prze­cho­wy­wać ich kolej­ne wersje,
  • pro­wa­dzić pro­ces oce­ny wnio­sków przez eks­per­tów Bura Polonii Kancelarii Senatu,
  • two­rzyć i zawie­rać umo­wy, w któ­rych te wnio­ski są załącznikiem, 
  • śle­dzić roz­li­cza­nie tych umów.
  • pro­wa­dzi archi­wum tych dokumentów,

Analizę i pro­jekt zre­ali­zo­wa­łem zdal­nie sam, w cią­gu mie­sią­ca (komu­ni­ka­cja). W toku prze­tar­gu nie było żad­nych skarg na treść OPZ do KIO. Implementacja wyko­na­na w cią­gu pię­ciu mie­się­cy w budzę­cie i ter­mi­nie, pod moim nad­zo­rem (nad­zór autorski). 

Łączny koszt (ana­li­za plus pra­ce deve­lo­pe­ra) zaję­ły mniej niż 6 mie­się­cy kosz­tem ok. 500tys. Aplikacja nadal dzia­ła i jest rozwijana. 

(w 2019 roku kolej­ny prze­targ na roz­wój, OPZ nadal wyko­rzy­stu­je pod­sta­wy moje­go pro­jek­tu: https://​www​.senat​.gov​.pl/​g​f​x​/​s​e​n​a​t​/​u​s​e​r​f​i​l​e​s​/​_​p​u​b​l​i​c​/​k​8​/​k​a​n​c​e​l​a​r​i​a​/​z​a​m​/​2​0​1​9​/​1​5​/​c​a​l​o​s​c​.​pdf)

Całość jest na AZURE. Aplikacja dzia­ła do dziś w dobrej kon­dy­cji, jest rela­tyw­nie tania w utrzy­ma­niu mimo corocz­nych zmian prze­pi­sów (w tym for­mu­la­rzy). Poprzednie wyce­ny (nie­któ­re na bazie metod opar­tych o punk­ty funk­cyj­ne, inne na bazie wie­lo­dnio­wych warsz­ta­tów z pra­cow­ni­ka­mi Kancelarii Senatu czy te na bazie setek stron mode­li UML baz danych i nie­zro­zu­mia­łych dia­gra­mów UC), dawa­ły wie­lo­krot­nie (bywa­ły ponad 10 krot­nie) wyż­sze pro­gno­zy kosztów. 

Dokument sta­no­wią­cy Opis Przedmiotu Zamówienia (pro­jekt tech­nicz­ny) jest dostęp­ny na stro­nie BIP Kancelarii pod adre­sem: https://​www​.senat​.gov​.pl/​g​f​x​/​s​e​n​a​t​/​u​s​e​r​f​i​l​e​s​/​_​p​u​b​l​i​c​/​k​8​/​k​a​n​c​e​l​a​r​i​a​/​z​a​m​/​2​0​1​7​/​1​5​/​z​a​l​a​c​z​n​i​k​_​n​r​_​1​_​d​o​_​s​i​w​z​.​pdf dla­te­go czę­sto słu­ży mi za przy­kła­do­wą refe­ren­cję. Z uwa­gi na to, że mie­wam pyta­nia o kon­struk­cję sche­ma­tów blo­ko­wych uży­te w tym doku­men­cie, omó­wię je tu pokrót­ce. Między inny­mi cał­ko­wi­cie zre­zy­gno­wa­łem z SQL i rela­cyj­ne­go mode­lu danych dla for­mu­la­rzy, dzię­ki cze­mu wie­lo­krot­nie spa­dła pra­co­chłon­ność wytwo­rze­nia oraz póź­niej­sze kosz­ty utrzy­ma­nia i roz­wo­ju (mię­dzy inny­mi co roku nie­co zmie­nio­ne formularze). 

W takich pro­jek­tach bar­dzo waż­ny jest nad­zór autor­ski, czy­li tu mój udział w pro­jek­cie w toku implementacji: 

  1. nad­zo­ru­ję pra­cę dewelopera,
  2. na bie­żą­co wyja­śniam wąt­pli­wo­ści deve­lo­pe­ra co do dokumentacji,
  3. na bie­żą­co uzu­peł­niam doku­ment o nowe ele­men­ty (czas się nie zatrzy­mu­je w dniu ogło­sze­nia prze­tar­gu i pod­pi­sa­niu umo­wy z wykonawcą),
  4. na bie­żą­co aktu­ali­zu­ję doku­men­ta­cję o wszel­kie pod­ję­te decy­zje architektoniczne,
  5. w dniu odda­nia apli­ka­cji do użyt­ku, sta­le aktu­ali­zo­wa­ny OPZ, sta­no­wi aktu­al­ną doku­men­ta­cję powsta­łe­go sys­te­mu, tu na koniec nad­zo­ru, miał nie­co ponad 80 stron. 

(Dokument OPZ został w cało­ści wyko­na­ny z uży­ciem opro­gra­mo­wa­nia Visual-Paradigm: wbu­do­wa­ne­go edy­to­ra DocComposer pakie­tu Visual-Paradigm. Cały cykl pra­cy nad wyma­ga­nia­mi i ich doku­men­to­wa­niem nie wyma­ga uży­cia żad­nych narzę­dzi biu­ro­wych typu Office.)

Zakres

Na tym dia­gra­mie kolo­ra­mi poka­za­no zakres odpo­wie­dzial­no­ści Zamawiającego i Wykonawcy. Kolor nie­bie­ski ozna­cza pro­duk­ty, któ­re ma dostar­czyć Wykonawca. Jest to dia­gram przy­pad­ków uży­cia nota­cji UML. Zależności (uza­leż­nie­nia) zosta­ły zamo­de­lo­wa­ne stan­dar­do­wym związ­kiem zależ­no­ści w UML. W tej posta­ci dia­gram ten czę­sto nazy­wa­ny jest Modelem Kontekstowym.

Cele biznesowe

Powyższy dia­gram to model moty­wa­cji biz­ne­so­wej (BMM). Jest to bar­dzo waż­ny dia­gram w pro­jek­cie: słu­ży do okre­śle­nia celu biz­ne­so­we­go. Jest uży­wa­ny do selek­cji zgła­sza­nych wyma­gań biz­ne­so­wych. Do zakre­su pro­jek­tu powin­ny być kwa­li­fi­ko­wa­ne wyłącz­nie wyma­ga­nia wspie­ra­ją­ce cele biz­ne­so­we pro­jek­tu. Pozwala to sku­tecz­nie zarzą­dzać zakre­sem projektu.

Słownik i model pojęciowy

Co do zasa­dy pro­jekt powi­nien mieć Biznesowy słow­nik pojęć. Jest to lista pojęć wraz z ich defi­ni­cja­mi, któ­rej celem jest zagwa­ran­to­wa­nie jed­no­znacz­no­ści tre­ści całej doku­men­ta­cji. Są to poję­cia dzie­dzi­no­we a słow­nik ten sta­no­wi prze­strzeń poję­cio­wą dla innych dia­gra­mów. Diagram ten stan­dar­do­wo wyko­nu­ję jako Model Faktów nota­cji SBVR, ale jest to tak napraw­dę dia­gram klas skła­da­ją­cy się wyłącz­nie z klas, związ­ków gene­ra­li­za­cji i skie­ro­wa­nych aso­cja­cji. Celem jego budo­wy jest zagwa­ran­to­wa­nie spój­no­ści i nie­sprzecz­no­ści pojęć w słow­ni­ku. Cechą tego dia­gra­mu (meto­dą kon­tro­li jego popraw­no­ści) jest to, że każ­de dwa połą­czo­ne skie­ro­wa­ną aso­cja­cją poję­cia, two­rzą (powin­ny) popraw­ne zda­nie w języ­ku natu­ral­nym np. ?metry­ka zawie­ra fak­ty z histo­rii spra­wy? czy ?umo­wa jest typem pisma?. Nazwy klas, atry­bu­tów, ope­ra­cji, akto­rów itp. na pozo­sta­łych dia­gra­mach muszą pocho­dzić z tej prze­strze­ni pojęciowej!

Poglądowa mapa procesów biznesowych

Bardzo przy­dat­nym dia­gra­mem jest nie­for­mal­ny sche­mat blo­ko­wy obra­zu­ją­cy pro­ce­sy biz­ne­so­we ope­ra­cyj­ne. Każdy ?pago­nik? to abs­trak­cja pro­ce­su, któ­re­go deta­le poka­za­ne zosta­ną na dedy­ko­wa­nych dia­gra­mach w nota­cji BPMN. Można taki dia­gram tak­że wyko­nać w nota­cji BPMN, jed­nak jego adre­sa­tem są spon­so­rzy pro­jek­tu, któ­rzy rzad­ko mają łatwość posłu­gi­wa­nia sie nota­cją BPMN. 

Podmioty w otoczeniu Kancelarii

Diagram współ­pra­cy nota­cji BPMN jest two­rzo­ny w celu inwen­ta­ry­za­cji pod­mio­tów zaan­ga­żo­wa­nych w pro­ce­sach obsłu­gi wnio­sków. Nazwy tych pod­mio­tów sta­no­wią poten­cjal­ne war­to­ści atry­bu­tów meta­da­nych doku­men­tów, będą tak­że uży­te jako pule na dia­gra­mach BPMN.

Zarządzanie przepływem dokumentów

Diagram BPMN, na któ­rym poka­za­no czyn­no­ści zwią­za­ne z pra­cą z doku­men­ta­mi. W takich przy­pad­kach, gdzie ludzie wyko­nu­ją czyn­no­ści sami dobie­ra­jąc ich kolej­ność wg. usta­lo­nych reguł (np. w instruk­cjach) nie ma sen­su mode­lo­wa­nie wszel­kich warian­tów z uży­ciem wiel­kiej ilo­ści bra­mek i moż­li­wych prze­pły­wów (spe­cy­fi­ka­cja BPMN 2.0.2, Figury 10.35, 10.36, 10.37).

Jeżeli prze­pływ pra­cy jest bar­dziej deter­mi­ni­stycz­ny powsta­ją dia­gra­my jak poniżej.

Przypadki użycia ? usługi aplikacyjne

Diagram przy­pad­ków uży­cia ma poka­zać usłu­gi apli­ka­cyj­ne i inte­re­sa­riu­szy sys­te­mu (ludzi) oraz ewen­tu­al­nych akto­rów będą­cych inny­mi apli­ka­cja­mi (inte­gra­cje). Tu wyjąt­ko­wo uży­łem dość rzad­kiej kon­struk­cji jaką jest gene­ra­li­za­cja (a nie dzie­dzi­cze­nie! któ­re­go nie ma w UML od 2015 roku, od wer­sji 2.5), poka­zu­ją­ca że zarów­no recen­zen­ci jaki refe­ren­ci to pra­cow­ni­cy Kancelarii. To uogól­nie­nie to słow­ni­ko­wy zabieg mają­cy na celu uprosz­cze­nie dia­gra­mu (jeden zwią­zek zależ­no­ści do gene­ra­li­za­cji zamiast dwóch do jej instan­cji). Jest to zabieg słow­ni­ko­wy, ana­lo­gicz­ny to tego, w któ­rym mówi­my ?wete­ry­narz leczy zwie­rzę­ta? zamiast mówić ?wete­ry­narz leczy, psy, koty, świn­ki mor­skie? (sło­wo zwie­rzę­ta jest słow­ni­ko­wą gene­ra­li­za­cją kon­kret­nych zwie­rząt). Tej rzad­ko uży­wa­nej kon­struk­cji uży­łem tyl­ko z powo­du pre­sji czas i odra­dzam ją. Lepszą kon­struk­cją była by tu struk­tu­ral­na meta­kla­sa zamiast uogól­nie­nia i związ­ki «instanceOf» zamiast poję­cio­wej gene­ra­li­za­cji, a jesz­cze pro­ściej poka­zać te zależ­no­ści wyłącz­nie na mode­lu pojęciowym. 

Model dziedziny

Został wyko­na­ny z uży­ciem stan­dar­do­we wzor­ca BCE, nie raz już opi­sy­wa­ne­go na tym blo­gu, po pra­wej stro­ny, poka­za­no wybra­ne deta­le struk­tu­ry repo­zy­to­riów jako realizacje.

Powyższe to wybra­ne klu­czo­we ele­men­ty projektu.

Podsumowanie

Pozostałe ele­men­ty OPZ dla Kancelarii Senatu wyda­ją mi się dość oczy­wi­ste, tu sta­ra­łem się sko­men­to­wać te ele­men­ty tego doku­men­tu, któ­re budzą naj­wię­cej pytań i emo­cji. Są to bar­dzo przy­dat­ne i nie­do­ce­nia­ne kon­struk­cje zarów­no w nota­cji UML jak i BPMN. Kompletny doku­ment moż­na tak­że pobrać tu:

Zainteresowanych podob­nym i upu­blicz­nio­nym pro­jek­tem zapra­szam tu: Inżynieria opro­gra­mo­wa­nia z uży­ciem narzę­dzia CASE ? pro­jekt badawczy.

Komentarze

  1. Jarosław Żeliński 2 lutego 2022 at 01:06

    W roku 2021 odby­ło się posie­dze­nie Komisji Łączności z Polakami za Granicą, w spra­woz­da­niu (nr 31) z dnia 16 listo­pa­da 2021 r. czytamy: 

    Tak samo jak w roku ubie­głym, ofer­ty będą skła­da­ne w gene­ra­to­rze. Usprawni to nabór i pozwo­li na bie­żą­co uni­kać nie­któ­rych błę­dów, na przy­kład rachun­ko­wych. To nowo­cze­sne i wygod­ne narzę­dzie, któ­re w wie­lu przy­pad­kach reagu­je od razu na jakieś błę­dy tech­nicz­ne. Jeśli skła­da­ją­cy popeł­nia jakieś błę­dy tech­nicz­ne, to czę­sto gene­ra­tor wręcz nie przyj­mie takie­go wnio­sku. To jest waż­na infor­ma­cja, bo naj­gor­szym dla wszyst­kich z nas roz­wią­za­niem było­by to, że ktoś skła­da ofer­tę, a potem z powo­du tego, że bra­ku­je prze­cin­ka, cała ofer­ta upa­da. To jed­nak wole­li­by­śmy, żeby nie mógł zło­żyć ofer­ty, żeby musiał popra­wić ten przy­sło­wio­wy prze­ci­nek i żeby póź­niej ofer­ta pod­le­ga­ła po pro­stu wyłącz­nie oce­nie mery­to­rycz­nej. Nie ukry­wam, że mia­łem w prze­szło­ści takie dra­ma­tycz­ne sytu­acje, że widzę, że jest bar­dzo war­to­ścio­wa ofer­ta, szla­chet­ni ludzie, ale, nie mając doświad­cze­nia, popeł­ni­li jakiś błąd i z powo­du for­mal­ne­go prze­pa­da cały wnio­sek i jest tyl­ko roz­cza­ro­wa­nie i jakaś demo­ty­wa­cja, żeby w przy­szło­ści skła­dać wnio­sek, bo to i tak nie ma sen­su, i tak nigdy nie dosta­nie­my etc. Znamy to wszy­scy. Państwo prze­cież też roz­ma­wia­ją z orga­ni­za­cja­mi i takie roz­mo­wy pew­nie nie­raz odby­li­ście w terenie”

    https://orka.sejm.gov.pl/zapisy9.nsf/0/109DCCFD7A5EFCB4C125879600491A23/%24File/0195509.pdf

  2. Jarosław Żeliński 27 maja 2022 at 09:42

    Rozmowa z sze­fem Kancelarii Senatu mini­strem Jakubem Kowalskim

    -Kancelaria Senatu jest nowo­cze­snym urzę­dem. Zapewne już wkrót­ce nie będzie­my posłu­gi­wać się papie­ro­wy­mi doku­men­ta­mi, czy taki cel przy­świe­cał Panu przy obej­mo­wa­niu urzędu?

    -To życie narzu­ci­ło cel, któ­ry trze­ba było szyb­ko osią­gnąć. Kancelaria mia­ła spo­ro do nad­ro­bie­nia w sto­sun­ku do innych urzę­dów admi­ni­stra­cji publicz­nej, głów­nie w zakre­sie cyfry­za­cji. Zaczęliśmy od tego, co przy­tło­czy­ło nas po prze­ję­ciu środ­ków na opie­kę nad Polonią i Polakami za gra­ni­cą od MSZ – sto­sy papie­ro­wych doku­men­tów, któ­re dosłow­nie zaję­ły kil­ka pomiesz­czeń. Musieliśmy sobie z tym pora­dzić i uda­ło nam się zbu­do­wać cyfro­wy gene­ra­tor ofert. Dzięki temu fun­da­cje i sto­wa­rzy­sze­nia, któ­re sta­ra­ją się o pie­nią­dze z Senatu na zada­nia reali­zo­wa­ne w ramach opie­ki nad Polonią skła­da­ją doku­men­ty elek­tro­nicz­nie, rów­nież elek­tro­nicz­nie popra­wia­ją i uzu­peł­nia­ją swo­je wnio­ski. Za pośred­nic­twem gene­ra­to­ra pro­wa­dzo­na jest kore­spon­den­cja i w ten spo­sób powsta­je baza danych o wnio­skach i przy­zna­nych środ­kach. Obie stro­ny są z tego roz­wią­za­nia zado­wo­lo­ne, bo uła­twia ono pra­cę i przy­spie­sza pro­ces przy­zna­wa­nia pie­nię­dzy, któ­re teraz szyb­ciej pozwa­la­ją reali­zo­wać zada­nia na rzecz naszych roda­ków poza gra­ni­ca­mi. A to było ambi­cją sena­to­rów, a tak­że ocze­ki­wa­niem sto­wa­rzy­szeń, a przede wszyst­kim Polaków z zagranicy.

    – Generator ofert zachę­cił do dal­sze­go uno­wo­cze­śnia­nia Kancelarii.

    – Gdy oka­za­ło się, że gene­ra­tor ofert uspraw­nił pra­cę zde­cy­do­wa­łem o wpro­wa­dze­niu w Kancelarii Senatu sys­te­mu elek­tro­nicz­ne­go zarzą­dza­nia doku­men­ta­cją (EZD ), stwo­rzo­ne­go przez Podlaski Urząd Wojewódzki. ”

    https://​ali​cja​za​jac​.pl/​m​i​n​i​s​t​e​r​-​k​o​w​a​l​s​k​i​-​d​z​i​e​k​i​-​c​y​f​r​y​z​a​c​j​i​-​k​a​n​c​e​l​a​r​i​a​-​s​e​n​a​t​u​-​s​t​a​j​e​-​s​i​e​-​n​o​w​o​c​z​e​s​n​y​m​-​u​r​z​e​d​em/

Dodaj komentarz

Twój adres email nie zostanie opublikowany

Komentuj i zadawaj pytania autorowi.

Identyfikator *
E-mail *
Witryna internetowa

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.