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?
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?
Respostas:
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?
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.
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.
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.