735 Shares 3039 views

Software ciclo de vida: conceito, normas, processos,

desenvolvimento de software não é possível sem a compreensão do chamado ciclo de vida do software. usuário comum pode ser, e não precisam de saber, mas é desejável para aprender os padrões básicos (daqui em diante será informado por que isso é necessário).

ciclo de vida de software: o que é no sentido formal?

Sob o ciclo de vida de qualquer produto de software é entendida como o momento da sua existência, começando com a fase de desenvolvimento e antes da rejeição completa da utilização do campo seleccionado de aplicação até que a retirada completa da aplicação de uso.

Basta colocar, sistemas de informação sob a forma de programas, bancos de dados, ou mesmo "de sistemas operacionais" estão na demanda apenas em caso de relevância e oportunidades oferecidas por eles dados.

Acredita-se que a definição do ciclo de vida de qualquer forma não se aplica para testar aplicativos, como versões beta, que são os mais instável no trabalho. O mesmo ciclo de vida do software depende de muitos fatores, entre os quais um dos principais papéis desempenhados pelo meio em que o programa vai ser usado. No entanto, você pode selecionar e os termos gerais utilizados na definição do conceito de ciclo de vida.

requisitos iniciais

Tal como normalmente se pensa, usado um certo número de condições quanto ao seu desenvolvimento e utilização de qualquer produto de software, nomeadamente:

  • formulação do problema;
  • análise dos requisitos mútuos de futuro sistema;
  • projeto;
  • programação;
  • codificação e compilação;
  • de ensaio;
  • depuração;
  • implementação e manutenção de software.

desenvolvimento de software é composta de todos os passos acima, e não pode fazer sem pelo menos um deles. Mas para controlar tais processos definir normas específicas.

normas de processo do ciclo de vida do software

Entre os sistemas de pré-determinar as condições e requisitos para tais processos podem agora ser chamado apenas três os principais:

  • GOST 34,601-90;
  • ISO / IEC 12207: 2008;
  • A Oracle MDL.

Para o segundo padrão internacional é o equivalente russo. Este GOST R ISO / IEC 12207-2010, é responsável pelo sistema e engenharia de software. Mas o ciclo de vida do software, descrito em ambos os regulamentos, é idêntica em substância. A razão é bastante simples.

Tipos de software e atualizações

sistemas de informação modernos são tais que eles estabelecem a aplicação de conceitos comuns.

Por exemplo, existem programas do sistema e utilitários, ferramentas multimídia, drivers de dispositivos, aplicativos de escritório e assim por diante. D. Para qualquer tipo de software pode determinar a existência de estágios do ciclo de vida.

Sua extensão é o meio mais comumente usados de atualização (para ambos os sistemas operacionais e plataformas e software de aplicação). Provavelmente não preciso explicar que qualquer usuário do sistema de computador baseado em atualizações do Windows aprovou uma etapa do sistema ou componentes, tais como o Microsoft .NET Framework ou máquina virtual Java.

fase de concepção

Agora algumas palavras diretamente sobre os estágios de desenvolvimento. Lifecycle inclui inicialmente o planejamento do projeto, análise de sistemas e requisitos de destino, a possibilidade de um projeto preliminar ou detalhado, codificação e testes, a possibilidade de aplicação de software em sistemas especializados, e assim por diante. D.

Todos os modelos de ciclo de vida do software sugere que, inicialmente, definir a tarefa de criar software deve ser limitado ao desenvolvimento de aplicações genéricas ou produtos de software que utilizam algum ambiente de inicialização.

projeto

Sistemas de desenvolvimento são linguagens de programação. design de software na primeira fase pode ser reduzido para baixo.

Será que este C + / C ++, Java, Delphi ou o mesmo Pascal ultrapassada – não é tão importante. A questão é, como aplicativo criado pode ser integrado ao sistema operacional e funcionar sem problemas.

Neste sentido, um ciclo de vida de teste de software é o momento da instalação inicial do produto até a sua remoção completa devido à incompatibilidade dos requisitos do sistema, inoperáveis ou incapacidade de executar as tarefas originalmente.

fases subsequentes

Um apoio adicional para a definição do ciclo de vida do software, se resume a codificação para gerar e receber o código fonte da aplicação.

No caso de um livre (aberta) a propagação do certificado chamada é aplicada com base na licença GNU que permite mudanças no próprio software, a pedido do usuário, familiarizado com a linguagem de programação com a qual o aplicativo foi criado.

Se é um código fechado, você pode usar ferramentas como Disassembler. Mas, neste caso, somente a decodificação executável EXE-arquivos pode ser alcançado, e certamente não vinculado bibliotecas dinâmicas DLL.

Mas esta teoria. Na prática, o estágio do ciclo de vida do software incluem uma lista muito mais itens. Mesmo a simulação mais simples que consiste de uma avaliação dos padrões e a formulação de observações (requisitos de alto nível para arquitectura, que corresponde ao código executável, os meios e métodos de verificação). Este é o processo do ciclo de vida do software. Mas aqui é importante para compreender e controlar alguns dos princípios de tais programas e sistemas.

Basics gestão

gerenciamento de ciclo de vida de software é baseado na decomposição de programas em componentes, dando uma gama larga o suficiente de ferramentas para criá-los.

Existe uma desvantagem. A escolha de módulos é limitada pelo desenvolvedor original da plataforma com base no que é produzido programação. Claro, se você levar em conta a unificação e ferramentas de desenvolvimento de digitação usado (módulos especialmente reutilizáveis), nenhuma dúvida sobre isso.

Mas as etapas do ciclo de vida do software necessariamente incluir o estabelecimento de protocolos de processamento de dados, rotinas, bibliotecas padrão e muito mais.

módulos usados

E nenhum ciclo de vida do software processo está completo sem o uso de componentes muito específicos. Entre estas prioridades são as seguintes:

  • Chefe (Head) módulo responsável pelo lançamento do produto de software;
  • Unidade de Controle, responsável por chamar os componentes ligados ou bibliotecas de ligação dinâmica;
  • ferramentas de funcionalidade e processamento de dados de serviços e ferramentas adicionais.

O arquivo executável é geralmente, para sistemas baseados no Windows é apresentado na forma de "ekzeshnika". Componentes de controlo tem uma extensão (configuradores config.sys aplicadas ao sistema operativo), outras bibliotecas de ligação têm extensão DLL. Meios de funções e definições de algumas aplicações de controle e processamento podem aparecer na forma de arquivos XML.

Eles são, aliás, para a maioria dos programas de mídia atualmente conhecidos são um meio de preservar os parâmetros de configuração básicos. Usando o software deste tipo, é claro, é bastante limitado, mas a compreensão dos princípios gerais de trabalho com os mesmos jogadores de mídia não poderia machucar. Aqui está o porquê.

Na verdade, o ciclo de vida do software puseram-se apenas com o nível de atualização vida do jogador ou a instalação de codecs e decodificadores. Um som e vídeo transcoders são atributos inerentes de qualquer sistema de áudio ou vídeo.

Exemplo baseado no programa FL Studio

Inicialmente, o sequenciador estúdio virtual FL Studio era o nome de Fruity Loops. O ciclo de vida do software em sua modificação primária expirou, mas a aplicação é um pouco transformado e adquiriu sua aparência atual.

Se falamos sobre os estágios do ciclo de vida, em primeiro lugar na fase de formulação do problema foi criado por vários pré-requisitos:

  • a criação de um tambor tipo de módulo drum machines, como o Yamaha RX, mas com one-shot-amostra ou sequência em formato WAV, gravado ao vivo no estúdio;
  • integração no sistema operacional Windows;
  • a possibilidade de exportação projeto para WAV, MP3 e OGG;
  • a compatibilidade dos projectos com uma aplicação adicional frutado faixas.

"C" significa que as linguagens de programação foram utilizados na fase de desenvolvimento. Mas a plataforma parecia bastante primitivo e não dar ao usuário final a qualidade do som desejado.

Neste sentido, durante os desenvolvedores fase de testes e depuração tinha que ir a maneira da Corporação Steinberg alemão e aplicam-se aos requisitos básicos para o suporte de driver de som para o modo Full Duplex. A qualidade do som foi maior e permissão para alterar o ritmo, pitch e impor FX efeitos adicionais em tempo real.

A conclusão do ciclo de vida do software é considerado como a saída da primeira versão oficial do FL Studio, que, ao contrário de seus antepassados, tinha sido uma interface sequenciador de pleno direito com a capacidade de editar as configurações no 64 canais mesa de mistura virtual com adição ilimitado de faixas de áudio e MIDI-faixas.

Promoção do programa não parou por aí. Na fase de suporte de gerenciamento de projeto para conectar formato VST plug-ins foi introduzido (primeiro, segundo, e depois a terceira versão), uma vez desenvolvido pela Steinberg. Grosso modo, qualquer sintetizador virtual que suporta VST-host pode se conectar ao programa.

Não é de estranhar que em breve qualquer compositor poderia usar a analogia de modelos "de ferro", tais como conjuntos completos de sons que já foi popular Korg M1. Mais – muito mais. módulos de aplicação, tais como Addictive Drums ou plugue universal Kontakt permissão para reproduzir sons ao vivo de instrumentos reais, gravados com todos os tons de articulação em estúdios profissionais.

Os desenvolvedores têm tentado conseguir o máximo de qualidade e apoio criando para o driver ASIO4ALL, que acabou por ser um corte acima do Modo Full Duplex. Por conseguinte, o aumento da taxa de bits. Hoje, a qualidade do arquivo de áudio exportado pode ser 320 kbit / s em uma taxa de amostragem de 192 kHz. E esse som profissional.

Quanto à versão inicial do seu ciclo de vida poderia ser chamado completamente terminado, mas tal declaração é relativa, porque o aplicativo só mudou o seu nome, e tem encontrado novas oportunidades.

perspectivas de desenvolvimento

Quais são as fases do ciclo de vida do software, já está claro. Mas aqui no desenvolvimento dessas tecnologias deve ser discutido separadamente.

Escusado será dizer que qualquer desenvolvedor de software não está interessado em criar um produto que passa, o que dificilmente manter fora do mercado há vários anos. No futuro, todo mundo está olhando para a utilização a longo prazo. Isto pode ser conseguido de várias maneiras. Mas, como regra, quase todos eles se resumem a lançar atualizações ou novas versões de software.

Mesmo no caso do Windows, essas tendências podem ser vistas a olho nu. É improvável que hoje há pelo menos um usuário, usando sistemas como versões 3.1, 95, 98 ou Millennium. Seu ciclo de vida é encerrada após o lançamento da versão XP. Mas aqui está a versão do servidor na tecnologia NT base ainda são válidos. Mesmo Windows 2000, hoje não só é muito relevante, mas em alguns aspectos, a instalação ou a segurança superando até mesmo os mais recentes desenvolvimentos. O mesmo vale para sistemas NT 4.0 e modificações especializadas Windows Server 2012.

Mas é em relação a esses sistemas ainda diz apoiar ao mais alto nível. Mas o sensacional no momento Vista está claramente passando por um ciclo do sol. Não só isso, ele estava inacabado, por isso ainda e erro em si, e deficiências no seu sistema de segurança era tanto que só podemos adivinhar sobre como foi possível lançar uma solução de software é insustentável.

Mas se falamos sobre o fato de que o desenvolvimento de software de qualquer tipo (controle ou aplicação) não está no lugar, só podemos expor os fatos. Afinal, hoje se trata de não apenas sistemas de computadores e dispositivos móveis, e em que as tecnologias são muitas vezes à frente do setor de informática. A aparência dos chips de processador baseado em oito núcleos – não é o melhor exemplo? Mas ainda assim, nem todos os laptop pode gabar-se de ter um "ferro" tal.

Algumas perguntas adicionais

Quanto à compreensão do ciclo de vida do software, para dizer que terminou em algum ponto no tempo, ele pode ser muito arbitrária, porque o software ainda tem o apoio dos desenvolvedores para criá-los. Em vez disso, o fim refere-se aos aplicativos legados que não cumprem os requisitos de sistemas modernos e não pode trabalhar em seu ambiente.

Mas, mesmo com os avanços tecnológicos, muitos deles no futuro próximo não pode ser sustentado. E então ele vai ter que tomar uma decisão, quer para emitir atualizações ou a revisão completa de todo o conceito, originalmente embutido no software. Por isso – e um novo ciclo com uma mudança nas condições iniciais, o ambiente de desenvolvimento, testes e possível uso a longo prazo em uma determinada área.

Mas em informática favorecido hoje o desenvolvimento dos sistemas de controle automatizado (ACS), que são utilizados na fabricação. Até mesmo o sistema operacional, em comparação com programas especializados, perder.

O mesmo ambiente baseado em Visual Basic são muito mais populares do que o Windows-sistema. E sobre o software de aplicação com o sistema UNIX não estamos a falar de todo. O que posso dizer, se quase todas as redes de comunicação do mesmo dos Estados Unidos estão trabalhando exclusivamente neles. By the way, um sistema como o Linux e Android, também, foram originalmente criados nesta plataforma. Portanto, muito provavelmente, as perspectivas UNIX muito mais do que a de todos os outros produtos combinados.

ao invés resultado

Resta acrescentar que, neste caso, são apenas princípios gerais e as fases do ciclo de vida do software. Na verdade, até mesmo as tarefas iniciais podem variar significativamente. Por conseguinte, as diferenças podem ser observados em outras fases.

Mas o desenvolvimento de tecnologia de núcleo de produtos de software com o seu apoio posterior deve ser clara. Para o resto, deve ter em conta as especificidades do software criado, eo ambiente em que ele supostamente deve funcionar, ea possibilidade de programas fornecidos ao usuário final ou a produção, e muito mais.

Além disso, às vezes os ciclos de vida podem depender da urgência de ferramentas de desenvolvimento. Se, por exemplo, alguma linguagem de programação obsoleto, ninguém não vai fazer para escrever programas baseados nele, e mais ainda – para apresentá-los na produção de sistemas de controle automatizado. Há já vieram à tona até mesmo programadores e profissionais de marketing que precisam reagir rapidamente às mudanças no mercado de computadores. E há especialistas no mundo, não é demais. pessoal altamente qualificado, a capacidade de manter a mão no pulso do mercado, tornando-se o mais popular. E eles são muitas vezes chamados "cardeais cinzentos", da qual depende o sucesso ou a derrota de determinados produtos de software na área de TI.

Suponha que eles nem sempre entendem a essência do programa, mas claramente capaz de determinar o modelo do ciclo de vida do software e o período de tempo de sua aplicação, com base nas tendências mundiais nesta área. gestão eficaz, muitas vezes dá um resultado mais tangíveis. Sim, pelo menos Tecnologias de relações públicas, publicidade e assim por diante. D. Pode qualquer aplicativo o usuário não é necessário, mas desde que ele está ativo ostentando o usuário instala. Ele tem, por assim dizer, nível subconsciente (o mesmo efeito que a armação 25 quando a informação é colocada na mente do usuário, independentemente de si mesmo).

Claro, essa tecnologia no mundo são proibidos, mas muitos de nós não estão mesmo cientes de que eles ainda podem ser usados para influenciar a mente subconsciente de uma certa maneira. Isso só é um "zombie" canais de notícias ou sites da internet, para não mencionar o uso de ferramentas mais poderosas, como a exposição a infra-(este foi aplicado na mesma produção de ópera), de modo que uma pessoa pode sentir medo ou emoções impróprias.

Voltando ao software, deve acrescentar-se que alguns programas na inicialização usando o som, atraindo a atenção do usuário. E estudos mostram que tais aplicações são mais viáveis em comparação com outros programas. Claro, o aumento eo ciclo de vida do software, não importa qual a função é cobrado inicialmente. E isso, infelizmente, é usado por muitos desenvolvedores que levanta dúvidas sobre a legalidade de tais métodos.

Mas não para nós para julgar. Talvez significa definir essas ameaças serão desenvolvidos no futuro próximo. Enquanto esta é apenas uma teoria, mas, de acordo com alguns analistas e especialistas, para aplicações práticas há muito poucos. Se você já criou uma cópia de redes neurais do cérebro humano, então o que?