Engenharia de Software Prof.: Bruno Rafael de Oliveira Rodrigues Engenharia de Requisitos • Um dos pontos mais críticos no desenvolvimento de software é análise de requisitos. • Veja o clássico exemplo problema do balanço na árvore. Os erros na Fase de Requisitos podem encarecer ou inviabilizar o projeto Gerenciamento de Requisitos • Uma técnica útil para gerenciar os requisitos é o uso de matrizes de rastreabilidade. Por meio destas matrizes, é possível organizar os requisitos, informando como eles estão interligados. • Algumas ferramentas que auxiliam o trabalho com requisitos são o RequisitePro (IBM/Rational) e o Controla. Estudo de Caso • Sistema de Controle Acadêmico: “Uma universidade pretende informatizar alguns de seus processos. Para isso, será necessário que o sistema contemple algumas informações fundamentais, como cursos, disciplinas, professores e alunos. Também deve ser possível cadastrar as seguintes informações: alunos matriculados em uma disciplina e as disciplinas que um professor ministra. Além disso, o sistema deve permitir que os professores possam informar no sistema as notas dos alunos e as suas faltas. Posteriormente, deve ser possível ao aluno consultar estas informações. O sistema deve ser implementado em tecnologia Web, focando principalmente alunos e professores que devem poder acessar o sistema de qualquer local”. Requisitos Funcionais • • • • • • RF01: O sistema deve permitir o cadastro de cursos:. RF02: O sistema deve permitir o cadastro de disciplinas RF03: O sistema deve permitir o cadastro de professores RF04: O sistema deve matricular alunos em disciplinas RF05: O sistema deve permitir cadastrar alunos RF06: O sistema deve registrar as disciplinas que um professor ministra • RF07: O sistema deve permitir cadastrar as notas dos alunos • RF08: O sistema deve permitir a consulta às notas cadastradas Requisitos Não Funcionais vinculados diretamente ao sistema • NF01.01 Apenas coordenadores podem cadastrar cursos • NF02.01 Apenas a secretária pode cadastrar disciplinas • NF02.02 Deve ser possível cadastrar um horário para cada semestre letivo • NF03.01 Apenas a secretária pode cadastrar professores • NF03.01 Um aluno não pode estar matriculado em duas disciplinas que tenham o mesmo horário • NF03.02 Um aluno não pode se matricular em uma disciplina sem ter cursado e sido aprovado nas disciplinas que são prérequisitos Requisitos Não Funcionais • RNF01: O sistema deve ser implementado em linguagem Java • RNF02: O sistema usará banco de dados MySQL • RNF03: O sistema deve rodar nos navegadores Firefox e Internet Explorer Bibliografia • KOTONYA, Gerald; SOMMERVILLE, Ian. Requirements engineering: processes and techniques. England: John Wiley & Soons, 1997. • PRESSMAN, Roger. Engenharia de software. 3.ed. São Paulo: Makron Books, 1995. • WAZLAWICK, Raul Sidnei. Análise e projeto de sistemas de informação orientados a objetos. Rio de Janeiro: Elsevier, 2004.