Article View: pl.comp.objects
Article #17234Re: podważenie wielu publikacji ad. przypadkó użycia typu <include> i <extend>
From: SasQ
Date: Sun, 09 Sep 2007 23:12
Date: Sun, 09 Sep 2007 23:12
92 lines
5230 bytes
5230 bytes
On Mon, 18 Jun 2007 12:51:14 +0200, yapann wrote:
> w 'całym' Internecie piszą, iż przypadek użycia typu
> <include> nie może istnieć 'samodzielnie'
Chyba jednak nie w całym, skoro jeszcze się na takie
stwierdzenia nie natknąłem ;) A nawet jakbym się natknął
to bym pewnie to olał, bo nieraz miałem przypadki, że
jeden przypadek użycia wywoływany przez aktora był
jednocześnie nieodzowną częścią innego przypadku użycia,
też wywoływanego przez aktora, więc żeby nie powtarzać
opisów używałem <<include>> ;)
> "Włączany przypadek nigdy nie występuje samodzielnie
Nigdy nie mów "nigdy" ;)
Taki mały kontr-przykład:
.-------------------------------.
| _-----------------_ IDE |
|__--( Skompiluj moduł ) |
O __--"T '-----------------' |
--+-- --"" | ^ |
| | : <<include>> |
/'\ --__ | : |
/ \ ""--L_ _---------------------_ |
| ""--( Zbuduj cały projekt ) |
Programista | '---------------------' |
'-------------------------------'
Wyjaśnienie:
Programista używający IDE może wydać polecenie skompilowania
wybranego modułu [np. by zobaczyć, czy nie zrobił w nim
błędów, albo dlatego że coś w nim zmienił i wymaga on
rekompilacji ;J]. Może też chcieć czasami przebudować cały
projekt od nowa i wtedy siłą rzeczy przebudowywane są też
wszystkie moduły składające się na cały projekt, a więc
są używane czynności z przypadku użycia "Skompiluj moduł".
Są one ZAWSZE WYMAGANE do zbudowania całego projektu, stąd
rozsądnym jest użycie relacji <<include>>, by nie trzeba
było się niepotrzebnie powtarzać ;J
Oczywiście to, że przypadek użycia "Skompiluj moduł" jest
dołączany przez jakiś inny przypadek użycia i jest jego
częścią nie oznacza jeszcze, że nie można go używać
samodzielnie ;J co zresztą widać na załączonym obrazku ;)
> jego egzemplarze mogą być tylko częścią większego
> zawierającego go przypadku użycia."
Tere fere :P ;)
> Jeśli natomiast <include> będzie przypadkiem 'niższego
> poziomu celu', to wówczas owszem nie występuje jako
> samodzielny, ale nadal nie _dlatego_ zdaje mi się, iż
> jest <include>'m , lecz dlatego, iż nie realizuje
> (kompletnej) funkcjonalności systemowej.
Takie też się zdarzają. Często robi się tak wtedy, gdy
chce się po prostu "wyłączyć wspólny czynnik" kilku
przypadków użycia "przed nawias" ;) Na przykład zarówno
sprawdzenie salda, jak i wypłacenie gotówki z bankomatu,
wymagają włożenia karty, więc żeby nie powtarzać tego w
każdym przypadku użycia bankomatu można tą wspólną akcję
wyłączyć przed nawias i użyć <<include> ;) Ale nie wkłada
się karty "bez celu" ;) więc ten wyłączony wspólny czynnik
nie jest używany bezpośrednio przez aktora.
> Na podstawie powyższego rozumowania stwierdzam także, iż
> pokutuje powszechne powielanie błędnej interpretacji /
> tłumaczenia, gdyż powinno być: przypadek bazowy nie może
> istnieć samodzielnie bez przypadku włączanego (w odróżnieniu
> od tego, iż przypadek bazowy może istnieć bez przypadku
> rozszerzającego).
Pewnie tu jest właśnie pies pogrzebany. Jeden źle zrozumiał,
źle przetłumaczył, a inni powtarzali te jego "mądrości"
powołując się na jego "autorytet" ;J Dlatego warto zawsze
kwestionować autorytety i myśleć samodzielnie. Szukać
wyjątków w każdej regule ;)
Dokładnie tak pewnie to powinno brzmieć: że przypadek
dołączający nie może istnieć bez dołączanego, bo MUSI
go dołączyć, ZAWSZE, BEZWARUNKOWO, bo jest on jego
NIEODERWALNĄ CZĘŚCIĄ, i dlatego jest dołączany przez
<<include>>, a nie przez <<extends>> który może być
dołączony warunkowo, opcjonalnie.
Ale to oczywiście nie działa w obie strony [jak widać
na wielu przykładach ;J] - przypadek dołączany może
być użyty samodzielnie, jeśli stanowi sensowną akcję
używaną przez aktora.
--
SasQ
Technical Details
Message-ID:
<pan.2007.09.09.23.12.07.48683@go2.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<f55o7s$kq9$1@atlantis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: SasQ <sasq1@go2.pl> Newsgroups: pl.comp.objects Subject: Re: podważenie wielu publikacji ad. przypadkó użycia typu <include> i <extend> Date: Mon, 10 Sep 2007 01:12:07 +0200 Organization: Der grande totalle welt destrukszyn organizejszyn :P Lines: 92 Message-ID: <pan.2007.09.09.23.12.07.48683@go2.pl> References: <f55o7s$kq9$1@atlantis.news.tpi.pl> NNTP-Posting-Host: cbh45.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: nemesis.news.tpi.pl 1189379821 23539 83.30.105.45 (9 Sep 2007 23:17:01 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Sun, 9 Sep 2007 23:17:01 +0000 (UTC) User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit