TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula 3 Agenda O processo de desenvolvimento de software Processo Unificado e as fases do Processo Unificado Requisitos de software Tipos de requisitos de software Levantamento de Requisitos Engenharia dos requisitos Bibliografia 14/08/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 1 14/08/2012 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 2 Tem em suas atividades estudo de viabilidade, análise de requisitos, análise de domínio entre outras, essas atividades estão relacionadas as grandes fases de UP: Concepção Incorpora Estudo de viabilidade, levantamento de requisitos e parte da analise de requisitos. Elaboração Incorpora detalhamento da analise de requisitos, modelagem do domínio e o projeto. Construção Incorpora programação e testes Transição Incorpora Instalação do sistema e migração de dados Representação Clássica da distribuição de atividades Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 3 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 4 http:professorleomir.wordpress.com 1
Atividades de analise e projeto no contexto UP Na fase de concepção o analista deve ter uma visão geral do sistema a ser desenvolvido, essa visão pode ser obtida através de entrevistas, documentos e sistemas (legados). Pode-se usar para apoio da modelagem Diagrama de maquina de estados ou Atividades que correspondem nessa fase a modelagem de negócios. Pode-se analisar mais profundamente as atividades ou estados para obter requisitos funcionais ou não funcionais. Usa-se o diagrama de classes para elaborar um modelo conceitual preliminar para compreensão da estrutura de informação a ser gerenciada. Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 5 O Modelo conceitual e os requisitos obtidos na fase de concepção ajudarão na a compreender quais são os processos de negócios e processos complementares para obter-se os casos de uso de alto nível (a serem vistos proxima aula) que serão usados para planejar o restante do desenvolvimento. A fase de Elaboração começa com a expansão dos usos de caso de alto nível e posterior representação do fluxo através de diagramas de seqüência, quando são descobertas operações e consultas do sistema Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 6 Na Fase de construção é gerado o banco de dados, código fonte e testes, a persistência dos dados geralmente não precisa ser modelada pois sera gerada automaticamente quando se usa um framework. Levantamento e Análise de Requisito: Este é o processo de obter requisitos do sistema pela observação de sistemas existentes, pela conversa com usuários e compradores em potencial e/ou pela análise de tarefas. Pode envolver o desenvolvimento de um ou mais diferentes modelos e protótipos de sistemas. Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 7 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com http:professorleomir.wordpress.com 2
3. Especificação de Requisitos: é a atividade de traduzir as informações coletadas durante a atividade de análise em um documento que defina um conjunto de requisitos. Podem ser abstratas (Requisitos dos usuários) ou especificações detalhadas ( Requisitos do Sistema). Requisitos Funcionais: são declarações de funções que o sistema deve fornecer, como o sistema deve reagir a entradas específicas e como deve se comportar em determinadas situações. Também podem explicitar o que um sistema não deve fazer. Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Requisitos Não Funcionais: são restrições sobre os serviços ou as funções oferecidas pelo sistema. Entre eles destacam-se restrições de tempo, restrições sobre o processo de desenvolvimento, padrões, entre outros. Requisitos de Domínio: são requisitos que se originam do domínio de aplicação do sistema e que refletem características desse domínio. Podem ser funcionais ou não funcionais. Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com http:professorleomir.wordpress.com 3
Requisitos de Usuário: Os requisitos de usuário para um sistema devem descrever os requisitos funcionais e não funcionais de modo compreensível pelos usuários do sistema que não têm conhecimento técnico detalhados. Eles deve especificar somente o comportamento externo do sistema, evitando tanto quanto possível as características do projeto de sistema. Requisitos de Sistema São descrições mais detalhadas dos requisitos do usuário. Eles podem servir como base para um contrato destinado à implementação de um sistema e, portanto, devem ser uma especificação completa e consistente de todo o sistema. Eles são utilizados pelos engenheiros de software como ponto de partida para o projeto de sistema. Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Documento de Requisitos É a declaração oficial do que é exigido dos desenvolvedores de sistema. Deve incluir os requisitos de usuário e uma especificação detalhada dos requisitos do sistema. Se houverem um grande número de requisitos, pode-se separar os requisitos mais detalhados do sistema em outro documento. - exercício Atividade : Criar um documento de requisitos Crie um documento com os requisitos divididos por tipo. Utilize a linguagem de modo consistente. Faça uma distinção entre requisitos obrigatórios ( deve ) e os desejáveis ( deveria, poderia ). Detalhe os requisitos Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com http:professorleomir.wordpress.com 4
- exercício Atividade : Continuação Utilize um destaque (negrito ou itálico) para ressaltar partes importantes do requisitos. Evite, tanto quanto possível, o uso de jargão e termos técnicos da informática. Especificação de Software Destina-se a estabelecer quais funções são requeridas pelo sistema e as restrições sobre a operação e o desenvolvimento do sistema. Esta fase também é chamada de engenharia de requisitos: é um estágio particularmente importante do processo de software, uma vez que erros nesse estágio inevitavelmente produzem problemas posteriores no projeto e na implementação do sistema. Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 1. Estudo de viabilidade: é feita uma estimativa para verificar se as necessidades dos usuários que foram identificadas podem ser satisfeitas com a utilização das atuais tecnologias de hardware e software. O estudo decidirá se o software é viável, do ponto de vista comercial, e se poderá ser desenvolvido considerando as restrições orçamentárias. Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com http:professorleomir.wordpress.com 5
2. Levantamento e Análise de Requisito: este é o processo de obter requisitos do sistema pela observação de sistemas existentes, pela conversa com usuários e compradores em potencial e/ou pela análise de tarefas. Pode envolver o desenvolvimento de um ou mais diferentes modelos e protótipos de sistemas. 3. Especificação de Requisitos: é a atividade de traduzir as informações coletadas durante a atividade de análise em um documento que defina um conjunto de requisitos. Podem ser abstratas (Requisitos dos usuários) ou especificações detalhadas ( Requisitos do Sistema). Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 4. Validação de Requisitos: essa atividade verifica os requisitos quanto a sua pertinência, consistência e integralidade. Durante esse processo, inevitavelmente são descobertos erros na documentação de requisitos. Os requisitos deve ser modificados, a fim de corrigir esses problemas. Requisitos Atividade : Continuação Indice Detalhamento Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com http:professorleomir.wordpress.com 6
BIBLIOGRAFIA BÁSICA Bibliografia 1 PRESSMAN, Roger S. Engenharia de Software, 6ª ed. São Paulo. MakGraw-Hill, 2006. 2 SOMMERVILLE, Ian. Engenharia de Software - 8a edição Pearson. 2010 3 WAZLAWICK, Raul Sidnei. Análise e Projeto de Sistemas de Informação Orientados a Objetos. 2ª Edição. Rio de Janeiro: Campus, 2010. BIBLIOGRAFIA COMPLEMENTAR 4 ENGHOLM Jr., Hélio. Engenharia de Software na Prática, São Paulo. Novatec. 2010 5 6 7 LARMAN, Craig. Utilizando UML e Padrões. 3ª Edição. Porto Alegre: Bookman, 2007. PAULA FILHO, W. P. Engenharia de Software. Rio de Janeiro: LTC. 2009. TONSIG. S. L. Engenharia de Software Análise e Projeto de Sistemas. 2ª Edição. Rio de Janeiro: Ciência Moderna, 2008. Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 25 http:professorleomir.wordpress.com 7