O que é "Domínio do Problema"

12

Tenho que documentar meu programa para um projeto da escola e temos a seção chamada "domínio do problema", mas não tenho idéia do que discutir nesta seção.

Portanto, a pergunta é: o que deve ser discutido no domínio do problema?

Samantha Catania
fonte
2
Domínio do problema = Tópico / tema / assunto do programa
Ivan Crojach Karačić
Dada a maneira como você formulou sua pergunta, a resposta @qes fornecida praticamente a encerra. Se você quiser algum conselho mais específico, precisará fornecer alguns detalhes sobre o que é o seu programa.
quer
Porque se você não pode nos dizer sobre o que é o seu programa, não conhece o domínio do problema.
Jeffo

Respostas:

24

Escrevo software incorporado para equipamentos de telecomunicações. Meu domínio de problema são os protocolos ethernet, voz e vídeo. Em outras palavras, todas as coisas que não têm nada a ver com a linguagem na qual estou programando, mas que ainda preciso entender para escrever o software. Se você está criando um site para vender serviços de fotografia, o domínio do problema é fotografia e comércio eletrônico. Se você escreve um firmware para aeronaves militares, o domínio do problema são armas, sensores e sistemas de controle. Obter a foto?

Karl Bielefeldt
fonte
6
Absolutamente correto. E nos negócios de software comercial, as pessoas que conhecem o domínio do problema são frequentemente chamadas de Especialistas no Assunto (SMEs), em vez de programadores, porque seu valor e função na organização são diferentes dos (e geralmente mais altos que) programadores.
Ross Patterson
@Karl Bielefeldt thank u. Você é o meu protetor de dia de hoje.
William Francis Gomes
10

No artigo da Wikipedia sobre domínio do problema :

Um domínio de problema é a área de especialização ou aplicativo que precisa ser examinada para resolver um problema. Um domínio com problema está simplesmente olhando apenas os tópicos de seu interesse e excluindo todo o resto.

É a área em que pertencem os problemas que seu aplicativo pretende resolver.

quentin-starin
fonte
@ Murph, as edições durante os primeiros 5 minutos de uma postagem não são gravadas explicitamente.
Péter Török
Você pode fornecer um exemplo pls?
Samantha Catania
@ PéterTörök nunca é um dia (totalmente) ruim quando você aprende algo novo (-:
Murph
1
@SamanthaCatania, no caso do projeto em que estou trabalhando, o domínio do problema é o aluguel de carros . A área central neste processo é veículo check-out e check-in em si, mas para além deste, existem muitos outros subdomínios, tais como: gestão de frotas , gestão de receitas , taxas etc.
Péter Török
Observe que um domínio do problema pode ser muito específico, por exemplo, gerenciamento de estoque, como é feito pela região do estado de Nova York da nossa empresa . Mas provavelmente não é mais específico que isso; "domínios" menores geralmente são considerados problemas únicos.
Paul Brinkley
4

Nem todo mundo escreve compiladores, rastreadores de bugs, estruturas ou outros pacotes de software de computação direta.

Algumas pessoas escrevem software para a indústria de areia e cascalho. Algumas pessoas escrevem software para monitorar torres de refração de refinarias. Algumas pessoas escrevem software para controlar a fabricação de sacolas plásticas. Algumas pessoas escrevem software para preencher pacotes de ketchup.

Todos esses são domínios problemáticos, nos quais, para escrever um bom software, você precisa conhecer um pouco do domínio, por exemplo, concreto pré-misturado.

whatsisname
fonte
1
Um escritor de compilador também tem um domínio de problema, entre outras coisas; Arquitetura de CPU.
O contrato do Prof. Falken violou
1

Ian K. Bray em seu livro Uma Introdução à Engenharia de Requisitos (p9) define o domínio do problema como o seguinte:

A parte do universo dentro da qual o problema existe .

Por exemplo, no caso de um sistema de controle de elevação, incluiria qualquer hardware existente (elevadores, motores, botões, indicadores, sensores, etc.), as características do edifício (número de pisos e eixos de elevação), o padrão previsto de uso, as características dos usuários, a política de uso de elevador do cliente (por exemplo, os usuários devem ser desencorajados a usar um elevador para viagens curtas?) e assim por diante.

Dentro do domínio do problema de controle de elevadores, o problema, como mencionado acima, é: 'é necessário um sistema de controle que faça um uso mais eficiente dos elevadores neste edifício'. Na prática, geralmente refinamos o problema em um conjunto inteiro de subproblemas, mas, por enquanto, observe que, para resolver o (s) problema (s), é claramente necessário que o sistema de solução produza alguns efeitos no domínio do problema. . São esses efeitos desejados que constituem os requisitos.

Portanto, o domínio do problema também pode ser considerado como a parte do mundo em que o novo sistema de solução (às vezes reduzido para SS) funcionará e produzirá os efeitos necessários. Como os sistemas de solução baseados em software são freqüentemente chamados de aplicativos, o domínio do problema pode ser chamado de domínio do aplicativo.

Jules Randolph
fonte
0

Eu vejo isso dessa forma:

O domínio do problema: o motivo pelo qual o software precisa ser construído e o ambiente e o setor para os quais o sistema construído precisa ser útil.

Andrew S
fonte