Co to jest „domena problemowa”

12

Muszę udokumentować swój program dla projektu szkolnego i mamy sekcję o nazwie „domena problemowa”, ale nie mam pojęcia o czym dyskutować w tej sekcji.

Pytanie brzmi zatem: co należy omówić w dziedzinie problemów?

Samantha Catania
źródło
2
Problem domain = Temat programu / temat / temat
Ivan Crojach Karačić
Biorąc pod uwagę sposób sformułowania pytania, podana odpowiedź @qes prawie go zamyka. Jeśli potrzebujesz bardziej szczegółowych porad, musisz podać kilka szczegółowych informacji na temat tego, o czym jest Twój program.
Mike Nakis,
Ponieważ jeśli nie możesz nam powiedzieć, o czym jest twój program, nie znasz domeny problemu.
JeffO

Odpowiedzi:

24

Piszę oprogramowanie wbudowane do urządzeń telekomunikacyjnych. Moja domena problemowa to protokoły Ethernet, głosowe i wideo. Innymi słowy, wszystkie rzeczy, które nie mają nic wspólnego z językiem, w którym programuję, ale które muszę zrozumieć, aby napisać oprogramowanie. Jeśli tworzysz witrynę do sprzedaży usług fotograficznych, domeną problemową jest fotografia i e-commerce. Jeśli piszesz oprogramowanie sprzętowe dla wojskowych samolotów, domeną problemową jest broń, czujniki i systemy sterowania. Zrób zdjęcie?

Karl Bielefeldt
źródło
6
Absolutnie poprawne. Natomiast w branży oprogramowania komercyjnego ludzie znający problematyczną dziedzinę często nazywani są ekspertami w zakresie tematów (MŚP), a nie programistami, ponieważ ich wartość i rola w organizacji jest inna niż (i często wyższa) niż dla programistów.
Ross Patterson
@Karl Bielefeldt dziękuję. Jesteś moim dzisiejszym oszczędzaczem.
William Francis Gomes
10

Z artykułu w Wikipedii na temat problematycznej domeny :

Dziedzina problemowa to dziedzina wiedzy lub zastosowania, którą należy zbadać, aby rozwiązać problem. Domeną problemową jest po prostu przeglądanie tylko interesujących Cię tematów i wykluczanie wszystkiego innego.

Jest to obszar, do którego należą problemy, które ma rozwiązać Twoja aplikacja.

quentin-starin
źródło
@Murph, zmiany w ciągu pierwszych 5 minut posta nie są jawnie rejestrowane.
Péter Török,
Czy możesz podać przykładowy pls?
Samantha Catania,
@ PéterTörök nigdy nie jest (całkowicie) złym dniem, gdy uczysz się czegoś nowego (-:
Murph,
1
@SamanthaCatania, w przypadku projektu, nad którym obecnie pracuję, domeną problemową są wypożyczalnie samochodów . Centralny obszar ten jest kasa pojazdu i meldowanie się, ale oprócz tego istnieje wiele innych subdomen, takich jak: flotą , zarządzanie przychodami , kursów itp
Péter Török
Należy pamiętać, że problematyczna domena może być bardzo specyficzna, np. Zarządzanie zapasami, ponieważ odbywa się to w regionie stanu Nowy Jork naszej firmy . Ale prawdopodobnie nie bardziej szczegółowe niż to; mniejsze „domeny” są zwykle uważane za pojedyncze problemy.
Paul Brinkley,
4

Nie każdy pisze kompilatory, narzędzia do śledzenia błędów, frameworki lub inne proste pakiety oprogramowania komputerowego.

Niektórzy piszą oprogramowanie dla przemysłu piaskowego i żwirowego. Niektóre osoby piszą oprogramowanie do monitorowania wież refrakcyjnych rafinerii. Niektóre osoby piszą oprogramowanie do kontroli produkcji plastikowych toreb spożywczych. Niektóre osoby piszą oprogramowanie do wypełniania pakietów ketchupu.

Wszystkie są domenami problemowymi, w których aby napisać dobre oprogramowanie, trzeba trochę wiedzieć o tej domenie, np. Gotowy beton.

Jaka jest nazwa?
źródło
1
Autor kompilatora ma między innymi domenę problemową; Architektura procesora.
Umowa prof. Falkena została naruszona
1

Ian K. Bray w swojej książce Wprowadzenie do inżynierii wymagań (p9) definiuje dziedzinę problemową jako:

Ta część wszechświata, w której istnieje problem .

Na przykład, w przypadku systemu sterowania windą, obejmowałby on istniejący sprzęt (windy, silniki, przyciski, wskaźniki, czujniki itp.), Charakterystykę budynku (liczbę pięter i szybów windowych), przewidywany wzór wykorzystanie, cechy charakterystyczne użytkowników, zasady użytkowania windy klienta (np. czy użytkowników należy zniechęcać do korzystania z windy na krótkie podróże?) i tak dalej.

W dziedzinie problemowej sterowania windą problem, jak wspomniano powyżej, polega na tym, że „potrzebny jest system kontroli, który umożliwi bardziej wydajne wykorzystanie wind w tym budynku”. W praktyce zwykle udoskonalamy problem w cały zestaw podproblemów, ale na razie zauważmy, że w celu rozwiązania problemu (-ów), system rozwiązań musi wyraźnie wywoływać pewne efekty w obrębie dziedziny problemu . To właśnie te pożądane efekty stanowią wymagania.

Tak więc dziedzinę problemów można równie dobrze traktować jako tę część świata, w której nowy system rozwiązań (czasem skrócony do SS) będzie działał i przyniesie wymagane efekty. Ponieważ systemy rozwiązań oparte na oprogramowaniu są często nazywane aplikacjami, domenę problemów można nazwać domeną aplikacji.

Jules Randolph
źródło
0

Widzę to tak:

Dziedzina problemowa: Powód, dla którego oprogramowanie musi zostać zbudowane, oraz środowisko i branża, z których musi korzystać budowany system.

Andrew S.
źródło