Informatica
Por: Loko_90 • 23/4/2015 • Relatório de pesquisa • 3.325 Palavras (14 Páginas) • 198 Visualizações
- ATIVIDADE DO PROCESSO
Processos reais de software são intercalados com sequência de atividades técnicas, de colaboração e de gerencia com intuito de projetar implementar e testar um sistema de software. Os desenvolvedores utilizam várias ferramentas de software em seu trabalho. Essas ferramentas são especialmente uteis para apoiar a edição de diferentes tipos de documentos e para gerenciar o imenso volume de informações que e gerado em um projeto de grande porte.
As quatro atividades básicas do processo - especificação, desenvolvimento, validação e evolução - são organizadas de formas diferentes conforme o processo de desenvolvimento. No modelo cascata são organizadas em esquecia enquanto a incremental é intercalada. A maneira como essas atividades são feitas depende do tipo do software, das pessoas e das estruturas organizacionais envolvidas.
1.1 Especificação de software
Especificação de software ou engenharia de requisitos é o processo de compreensão e definição dos serviços requisitados do sistema e identificação das restrições relativas ao desenvolvimento do sistema sendo que é um estágio crítico, pois erro nessa fase pode gerar problemas no projeto e na implementação.
A documentação de requisitos tem o objetivo de especificar que satisfaça os requisitos stakeholders. Geralmente apresentados em dois níveis de detalhes. Os usuários finais e os clientes precisam de uma declaração de requisitos em alto nível; desenvolvedores de sistemas precisam de uma especificação mais detalhada.
Figura (1)
- Estudo de viabilidade: É feita uma estimativa da possibilidade de satisfazer ás necessidades do usuário utilizando tecnologias de software e hardware atuais. Considerando seu sistema será rentável para os negócios e se ele pode ser desenvolvido nas restrições orçamentais, devendo ser rápido e barato.
- Licitação e análise de requisitos: Esse é o processo de levantamento de requisitos do sistema, que necessita a discussão potências com o usuário e compradores. Essa parte do processo pode envolver o desenvolvimento de um ou mais modelos de sistema e protótipos.
- Especificação de requisitos: É a atividade que transforma as informações em documentos que defina o conjunto de requisitos, que podem incluir declaração abstrata do sistema para os clientes e usuários finais do sistema.
- Validação de requisitos: É a verificação dos requisitos. Durante esse processo, os erros no documento e requisitos são descobertos. Logo em seguida deve ser corrigido.
Essas atividades no processo de requisitos não são feitas apenas em uma sequência. Continuando durante a definição e especificação de novos requisitos, intercalando-as. Nos métodos ágeis, os requisitos são desenvolvidos de forma incremental de acordo com ás prioridades do usuário.
1.2 Projeto e implementação de software
O estágio de implementação do desenvolvimento e o processo onde acontece a conversão de uma especificação de determinado sistema executado. Envolvendo processos de projetos programação, porem se for usada uma abordagem incremental, também pode envolver o refinamento da especificação do software.
Um projeto de software é a descrição da estrutura seja dos dados usados pelo sistema, interfaces e outros componentes, e às vezes o algoritmo.
Os projetistas após realizarem revisões constantes em seus projetos acrescentam formalidades e detalhes chegando ao projeto final.
A maioria dos softwares interage com outros sistemas seja sistemas operacionais ou banco de dados, formando uma ‘plataforma de software’ ambiente que o mesmo seja executado. Informações sobre essa plataforma são entradas essenciais para o processo do projeto, pois o projetista deve decidir como integra-lo ao software. A especificação de requisitos é a descrição das funcionalidades que o software deve oferecer desempenho e confiança.
Caso o sistema for para o processamento de dados existente, poderá ser incluído na especificação da plataforma, caso contrário deverá ser uma entrada para o processo do projeto.
As atividades do projeto variam, dependendo do tipo do sistema a ser desenvolvido.
Figura(2)
- Projeto de arquitetura: É onde se pode identificar a estrutura geral de um sistema, e os componentes principais (algumas vezes, chamado de subsistemas ou módulos), com seus relacionamentos e como são distribuídos.
- Projeto de interface: É onde se define as interfaces entre os componentes do sistema. Esta especificação deve ser feita de forma inequívoca. Com uma interface precisa, os componentes podem ser projetados e desenvolvidos simultaneamente.
- Projeto de componente: Onde se projeta cada funcionamento dos componentes presentes no sistema. Podendo se tratar de uma simples declaração da funcionalidade que se espera implementar com o projeto específico para cada programador. Pode, também uma lista de alterações ou um modelo de projeto detalhado.
- Projeto de banco de dados: Onde se projeta ás estruturas de dados do sistema e como devem ser representados em um banco de dados. Trabalho que depende da existência ou da reutilização de um banco de dados.
Essas atividades conduzem a um conjunto de saídas do projeto. Para projetos críticos devem ser feitos documentações detalhadas com descrições precisas do sistema.
Métodos de projetos para estrutura foram projetados nas décadas de 1970 e 1980 e foram os percussores da UML e do projeto orientado a objetos (BUDGEN, 2003). Estando relacionados à produção de modelos gráficos que muitas vezes geram o código automaticamente. Desenvolvimento dirigido a modelos (MDD, do inglês model – driven development ou engenharia dirigida a modelos(SCHMIDT 2006), onde os modelos de software são criados em diferentes níveis de abstração e uma evolução de métodos estruturados. Em MDD a uma ênfase nos modelos de arquitetura com uma separação entre os modelos abstratos independentes de implementação, e específicos de implementação. O desenvolvimento de um programa decorre naturalmente dos processos de projeto de sistema, apesar que algumas classes serem projetadas em detalhes antes de iniciar qualquer implementação, e mais comum que os estágios posteriores de projeto e desenvolvimento do programa sejam intercalados. Muitas ferramentas de desenvolvimento podem gerar esqueletos de um programa a partir do projeto, fazendo com que o desenvolvedor precise apenas acrescentar detalhes da operação de cada componente do programa.
...