Projeto de Software é um processo para conceituar os requisitos de software para implementação de software. Projeto de Software tem os requisitos do usuário como desafios e tenta encontrar a melhor solução. Enquanto o software está sendo pensada, um plano é marcado para encontrar o melhor design para implementar a solução desejada.
Existem múltiplas variantes de design de software. Vamos estudá-los brevemente:
Design Estruturado é uma conceituação do problema em vários bem-organizados os elementos de solução. O que no fundo está em causa com o desenho da solução. Benefícios do projeto estruturado, permite uma melhor compreensão da forma como o problema está sendo resolvido. Design Estruturado também torna mais simples para design para concentrar-se no problema mais precisa.
Design Estruturado baseia-se principalmente em "dividir e conquistar" estratégia onde um problema é dividido em vários pequenos problemas e cada pequeno problema é individualmente resolvido até que todo o problema está resolvido.
Os pequenos pedaços de problema são resolvidos por meio de módulos de soluções. Design Estruturado a ênfase que estes módulos sejam bem organizadas, a fim de obter uma solução.
Estes módulos são organizados em hierarquia. Eles se comunicam uns com os outros. Um bom design estruturado sempre segue algumas regras para a comunicação entre os vários módulos, nomeadamente -
Coesão - agrupamento de todos funcionalmente elementos relacionados.
Acoplamento - comunicação entre diferentes módulos.
Um bom design estruturado com alta coesão e baixo acoplamento.
Em função de projeto orientado, o sistema é composto de muitos pequenos sub-sistemas conhecidos como funções. Estas funções são capazes de executar tarefa importante no sistema. O sistema é considerado como vista de cima de todas as funções.
Projeto orientado Função herda algumas propriedades do projeto estruturado onde dividir e conquistar metodologia é utilizada.
Este mecanismo de concepção divide todo o sistema em eventos menores, o que proporciona meios de abstração, escondendo as informações e o seu funcionamento. Estes módulos funcionais podem compartilhar informações entre si por meio de informações que passa e utilizar as informações disponíveis em todo o mundo.
Outra característica das funções é a de que quando um programa chama uma função, a função muda o estado do programa, que por vezes não é aceitável por outros módulos. Projeto orientado função funciona muito bem quando o estado do sistema não importa e o programa/funções funcionam na entrada, em vez de em um estado.
Trabalhos de design orientado a objetos em torno das entidades e suas características em vez das funções envolvidas no sistema de software. O estratégias de design concentra-se sobre as entidades e suas características. Todo o conceito de solução de software gira em torno da actividade as entidades.
Vamos ver os conceitos importantes de Design orientado a objetos.
As aulas - uma classe é a descrição generalizada de um objeto. Um objeto é uma instância de uma classe. Classe define todos os atributos que um objeto pode ter e métodos, que define a funcionalidade do objeto.
No projeto da solução, os atributos são armazenados em variáveis e funções são definidos por meio de métodos ou procedimentos.
Projeto de Software processo pode ser entendida como uma série de passos bem definidos. No entanto, varia de acordo com a abordagem de projeto (orientados para as funções ou orientada a objetos, no entanto, pode ter as seguintes etapas envolvidas:
Aqui estão duas abordagens genéricas de software projetar:
Sabemos que um sistema é composto de mais de uma sub-sistemas e que contém uma série de componentes. Além disso, esses sub-sistemas e componentes podem ter seu conjunto de sub-sistemas e componentes e cria estrutura hierárquica no sistema.
Top-down design leva todo o sistema de software como uma entidade e, em seguida, se decompõe para atingir mais de um sub-sistema ou componente com base em algumas características. Cada sub-sistema ou componente é então tratado como um sistema e decompostos. Esse processo mantém em funcionamento até o nível mais baixo do sistema top-down hierarquia é alcançado.
Top-down design começa com um modelo generalizado do sistema e mantém sobre a definição da parte mais específica. Quando todos os elementos são compostos por todo o sistema entra em existência.
Top-down design é mais adequado quando a solução de software precisa ser projetado do zero e detalhes específicos são desconhecidos.
O modelo de design começa com mais específica e componentes básicos. Ele prossegue com escrever maior nível de componentes, utilizando basic ou componentes de nível inferior. Ela continua criando componentes do nível mais elevado até que o sistema desejado não está evoluindo como um único elemento. A cada nível mais elevado, a quantidade de captação é maior.
Estratégia bottom-up é mais adequada quando o sistema precisa de ser criado a partir de um sistema já existente, onde os primitivos básicos podem ser utilizados no sistema mais recente.
Ambos, abordagens top-down e bottom-up não são práticos individualmente. Em vez disso, uma boa combinação dos dois é usado.