Inżynieria oprogramowania

Pytania i odpowiedzi dla profesjonalistów, nauczycieli akademickich i studentów pracujących w cyklu życia systemów

2
Czy powinienem używać warstwy między usługą a repozytorium dla czystej architektury - Spring
Pracuję w architekturze, będzie oferować odpoczynek API dla klienta WWW i aplikacji mobilnych. Używam Spring (spring mvc, spring data jpa, ... itd.). Model domeny jest kodowany zgodnie ze specyfikacją JPA. Próbuję zastosować pewne koncepcje czystej architektury ( https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html ). Nie wszystkie, ponieważ zamierzam zachować model domeny jpa. Rzeczywisty przepływ przez …

3
Czy złą praktyką jest, aby definicja obiektu API zawierała identyfikatory referencji innych firm jako właściwości?
Lubię to: Campaign: type: object properties: id: type: string description: "A GUID identifier" referenceId: type: string description: "A consumers identifier they have used to map their own systems logic to this object." name: type: string description: "'Great Campaign 2017' as an example" Jestem zaniepokojony referencją . Domena systemowa to platforma, …

1
Logika biznesowa a warstwa usług
Przeczytałem tę odpowiedź: https://softwareengineering.stackexchange.com/a/234254/173318 proszę o poprawienie mojego zrozumienia. Reguły biznesowe odnoszą się do listy etapów biznesowych w świecie rzeczywistym (bez kodów). Logika biznesowa odnosi się do procesu przekształcania reguł biznesowych w kody i tych grup / rodzajów kodów adresowanych jako „Logika biznesowa”. Do czego służy warstwa usługi? jeśli przeczytam …


1
Strategia automatycznej aktualizacji oprogramowania / oprogramowania układowego
Mam projekt średniej wielkości, który właśnie zbliża się do końca fazy „niechlujnych prototypów zasilanych kofeiną do pokazów klienckich” i przechodzi w fazę „pomyśl o przyszłości”. Projekt składa się z urządzeń opartych na systemie Linux z oprogramowaniem i oprogramowaniem układowym oraz centralnego administracyjnego serwera WWW. Obecnie istnieje 10 prototypów, oczekuje się, …

2
Skutecznie śledzi zmiany w konfiguracji od dewelopera do prod
To pytanie bierze przykład usługi Spring Boot, ale może to być dowolna technologia. Zakładając, że: Środowiska (dev / QA / prod) są własnością różnych zespołów. Oznacza to, że dev nie może mieć dostępu do konfiguracji prod. Konfiguracja (powiedzmy application.properties) jest uzewnętrzniona, tzn. Nie jest częścią pliku binarnego Ten sam plik …

7
Czy kiedykolwiek można akceptować dyskusje niezwiązane z meldowaniem się podczas spotkań Scrum Daily Standup?
Mam nadzieję, że ludzie odpowiedzą mi na potencjalnie oczywiste pytanie. Pracowałem w wielu organizacjach, które mają codzienne spotkania scrumowe. Niektóre organizacje naprawdę surowo stosują wyłącznie scrum do odprawy („trzy pytania” - co robiłeś wczoraj, co robisz dzisiaj, czy masz jakieś blokery?), Ale niektóre inne organizacje, które mają inne ogólne ogłoszenia …

3
W luźno sprzężonej architekturze mikrousług, jak śledzisz swoje zależności?
Popularnym wyborem architektury wysokiego poziomu we współczesnym programie jest system mikrousług oparty na REST. Ma to kilka zalet, takich jak luźne połączenie, łatwe ponowne użycie, ograniczone ograniczenie technologii, które można zastosować, wysoka skalowalność itp. Ale jednym z problemów, które przewiduję w takiej architekturze, jest słaby wgląd w to, jakie są …

2
Dodawanie do skończonego zestawu opcji; przełomowa zmiana API?
Weź punkt końcowy interfejsu API HTTP, który wyrzuca następujący model odpowiedzi: { "type": "Dog", "name": "Jessi", ... } typePole zostało opisane w dokumentacji jako jeden Dog, Catlub Fish. Czy dodanie nowej opcji Ratbyłoby , powiedzmy , uważane za przełomową zmianę interfejsu API? Czy dodanie opcji do skończonej listy (którą programista …
9 rest  api  api-design  json 

2
Jak mogę _ odczytać funkcjonalny kod JavaScript?
Wierzę, że nauczyłem się niektórych / wielu / większości podstawowych pojęć leżących u podstaw programowania funkcjonalnego w JavaScript. Mam jednak problemy z odczytaniem kodu funkcjonalnego, nawet kodu, który napisałem, i zastanawiam się, czy ktoś może dać mi jakieś wskazówki, porady, najlepsze praktyki, terminologię itp., Które mogą pomóc. Weź poniższy kod. …

3
W zwinny sposób, w jaki sposób podstawowe zadania infrastrukturalne na początku projektu są planowane i przydzielane przy użyciu ścisłych ram zarządzania, takich jak TFS online?
Tutaj jestem w trakcie określania zakresu i szacowania stosunkowo małego projektu rozwoju nowego oprogramowania. Zapoznałem się z historiami użytkowników zasugerowanymi przez klienta i umieściłem zadania dla każdego z nich, wraz z oszacowaniem i krótkimi notatkami na temat tego, jak zadanie zostanie wykonane. Istnieją kryteria akceptacji. Wszystko powinno być dobre dla …


3
Jak przechowywać duże ilości danych strukturalnych?
Aplikacja będzie stale (mniej więcej co sekundę) zbierać lokalizację użytkowników i przechowywać ich. Te dane są uporządkowane. W relacyjnej bazie danych byłby przechowywany jako: | user | timestamp | latitude | longitude | Istnieje jednak zbyt dużo danych. Będzie dziennie 60 × 60 × 24 = 86.400 zapisów na użytkownika. …

2
Jak enkapsulować klasy wewnętrzne w interfejsie API napisanym w Javie?
Musimy napisać bibliotekę. Oczywiście powinien mieć tylko bardzo mały interfejs API (tak szeroki, jak to konieczne, tak mały, jak to możliwe). Wnętrza biblioteki są nieco skomplikowane. Dlatego potrzebują strukturyzacji. Dla struktury widzę obecnie dwa sposoby: 1. użyj pakietów. zalety: biblioteka może być uporządkowana. Wszystko na swoim miejscu. Wady: użycie klas …

2
Czy to dobre podejście do hierarchii klas opartej na „pImpl” w C ++?
Mam hierarchię klas, dla której chciałbym oddzielić interfejs od implementacji. Moim rozwiązaniem jest posiadanie dwóch hierarchii: hierarchii klas uchwytów dla interfejsu i niepublicznej hierarchii klas dla implementacji. Podstawowa klasa uchwytu ma wskaźnik do implementacji, który pochodne klasy uchwytów rzutują na wskaźnik typu pochodnego (patrz funkcja getPimpl()). Oto szkic mojego rozwiązania …
9 design  c++  c++11 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.