Projeto de Software é um processo de transformar requisitos do usuário em alguma forma apropriada, o que ajuda o programador na codificação de software e implementação.
Para avaliar os requisitos do usuário, um SRS (Software Requirement Specification)) documento é criado considerando que para a codificação e implementação, não há a necessidade de mais específicas e detalhadas exigências em termos do software. O resultado desse processo pode ser imediatamente utilizado para implementação de linguagens de programação.
Projeto de Software é o primeiro passo no SDLC (Software Design Life Cycle), que se move a concentração do problema para a solução. Ela se esforça para especificar como a cumprir os requisitos mencionados nos SRS.
Projeto de Software produz três níveis de resultados.
A modulação é uma técnica para dividir um sistema de software em vários módulos separados e independentes, que se prevê que venham a ser capaz de realizar a(s) tarefa(s) independente. Esses módulos podem funcionar como construções básicas de todo o software. Designers tendem a projetar módulos, que podem ser executadas e/ou compilados separadamente e de forma independente.
Design Modular involuntariamente segue as regras de "dividir e conquistar" estratégia de resolução de problemas é porque há muitos outros benefícios associados com o projeto modular de software.
Vantagem de modularização.
Voltar no tempo, todos os softwares são feitos para serem executados sequencialmente. A execução sequencial, entendemos que o codificado instrução será executada uma após a outra que represente apenas uma parte do programa que está sendo ativado a qualquer momento. Dizer que um software tem vários módulos e, em seguida, apenas um de todos os módulos podem ser encontrados em qualquer momento da execução.
Em design de software, a simultaneidade é implementado por dividir o software em várias unidades independentes da execução, como módulos e executá-las em paralelo. Em outras palavras, a simultaneidade fornece capacidade de o software para executar mais de uma parte do código em paralelo um ao outro.
É necessário para os programadores e designers para reconhecer os módulos, os quais podem ser feitas execução paralela.
O recurso de verificação ortográfica do word processor é um módulo do software, que funciona ao lado do processador de texto propriamente dito.
Quando um programa de software é modularizada, suas tarefas são divididas em vários módulos com base em algumas características. Como sabemos, os módulos são conjunto de instruções colocadas em conjunto, a fim de realizar algumas tarefas. São no entanto, considerada como entidade única mas podem consultar uns aos outros para trabalhar em conjunto. Não há medidas pelas quais a qualidade de um projeto de módulos e sua interação entre eles pode ser medido. Estas medidas são chamados acoplamento e coesão.
Coesão é uma medida que define o grau de confiabilidade intra-elementos dentro de um módulo. Quanto maior a coesão, a melhor é a concepção do programa.
Existem sete tipos de coesão, nomeadamente -
Acoplamento é uma medida que define o nível de inter-dependência entre os módulos de um programa. Ela diz em que nível os módulos interferem e interagem uns com os outros. Quanto menor o acoplamento, o melhor do programa.
Há cinco níveis de acoplamento, ou seja -
O ideal é que não haja acoplamento é considerado para ser o melhor.
A produção de software processo de elaboração do projeto documentação do projeto, pseudo-códigos, as diagramas de lógica, os diagramas de processo, e a descrição detalhada de todos os funcionais ou requisitos não-funcionais.
A próxima fase, que é a implementação do software, depende de todas as saídas mencionadas acima.
É, em seguida, torna-se necessário verificar a impressão antes de prosseguir para a próxima fase. O cedo qualquer erro é detectado, o melhor é ou pode não ser detectada até o teste do produto. Se as saídas da fase de projeto estão em notação formal, em seguida, as suas ferramentas associadas para verificação deverá ser utilizada caso contrário uma profunda revisão do desenho pode ser usado para verificação e validação.
A abordagem estruturada verificação, os analistas podem detectar defeitos que possam ser causados por com vista para algumas condições. Uma boa revisão do projeto é importante para um bom software design, precisão e qualidade.