Especificação de Requisitos em PIT-RSL Captura de Modelos de Requisitos com o ProjectIT-Studio Seminário “Sistemas e Tecnologias de Informação” Instituto Politécnico de Viana do Castelo, Escola Superior de Tecnologia e Gestão David Ferreira Agenda A iniciativa ProjectIT ProjectIT-Studio ProjectIT-Requirements ProjectIT-RSL ProjectIT-Studio/Requirements 6 Março 2008 GSI/INESC-ID 2 ProjectIT (1/3) Programa de investigação do Grupo de Sistemas de Informação (GSI) do INESC-ID Análise, integração e suporte das boas práticas na gestão e implementação de projectos de TI A motivação: “Como melhorar a qualidade e produtividade dos projectos de TI?” Tecnologia: Desenvolvido com a .NET Framework 6 Março 2008 GSI/INESC-ID 3 ProjectIT (2/3) Suite de desenvolvimento de software: Gestão de Projectos Cobertura de todo o ciclo-de-vida: Engenharia de Requisitos Análise e Concepção Geração Automática de Código ProjectIT-Requirements: Especificação interactiva de sistemas LN + rigor = qualidade, reutilização e rastreio Visão → “ferramenta para escrever docs de requisitos” 6 Março 2008 GSI/INESC-ID 4 ProjectIT (3/3) 6 Março 2008 GSI/INESC-ID 5 ProjectIT-Studio A ferramenta CASE do ProjectIT Concebida para aumentar a produtividade Componentes principais: ProjectIT-Studio/Requirements Especificação de Requisitos (RE) ProjectIT-Studio/MDD Desenvolvimento Orientado por Modelos (MDD) 6 Março 2008 GSI/INESC-ID 6 ProjectIT-Requirements Evidências: A detecção antecipada de problemas de SW → reduzir custos O processo de desenv. de SW inicia-se com o levantamento de requisitos Solução proposta: Linguagem natural controlada baseada em padrões linguísticos Ferramenta IDE/CASE de suporte para validação das especificações Engenharia de Requisitos: Especificar o comportamento do sistema → crucial para o sucesso Objectivo: Minimizar as características indesejadas da LN Inadequação, inconsistência, incompletude, e ambiguidade 6 Março 2008 GSI/INESC-ID 7 Linguagem Requisitos: descritos com uma linguagem de especificação Deve reflectir as necessidades reais dos stakeholders do sistema Deve facilitar a comunicação entre os participantes do processo O maior desafio a superar ↔ o distanciamento conceptual Aproximações: Linguagens Formais: conceitos matemáticos e lógicos → notação formal Linguagens Não-Formais: variantes de LN e modelação visual Solução encontrada: Combinar LN com rigor formal → linguagem natural controlada Subconjunto de termos e de construções sintácticas Contextos semânticos restritos (domínios) → suporte computacional 6 Março 2008 GSI/INESC-ID 8 ProjectIT-RSL (1/2) Meta-modelo: Análise de documentos de requisitos: Estrutura e formato Foco em sistemas interactivos Type Property Identificação de padrões linguísticos specializes performs operation Primitive Type A estrutura declarativa: Entity relates with Actor Operation Descreve o que o sistema deve fazer Action Activity Perspectiva operacional Estrutura: O agente realiza uma operação que modifica a entidade Enriquecimento com condições 6 Março 2008 GSI/INESC-ID 9 ProjectIT-RSL (2/2) Regras de organização: Pacote Documento Instância (develop-by-reuse) Template (develop-for-reuse) Sistema Secção Introdução Comentário Entidades de Negócio Requisitos Funcionais Requisitos Não Funcionais Requisito 6 Março 2008 GSI/INESC-ID 10 ProjectIT-Studio/Requirements (1/2) PIT-RSL Internal «framework» Jena .NET Port PIT-RSL Multiv iew «import» PIT-RSL Text Editor «adapter» RSL-to-RDF/OWL Proj ectIT-Studio/Requirements Plugin «import» PIT-RSL Parsers «import» 6 Março 2008 GSI/INESC-ID «framework» CSTools 11 ProjectIT-Studio/Requirements (2/2) 6 Março 2008 GSI/INESC-ID 12 Conclusões (1/2) Linguagem suportada por um meta-modelo: Meta-Modelo → análise dos padrões linguísticos mais usuais Facilidade de aprendizagem → stakeholders não técnicos Regras Template Substituição (TS): Suporte computacional → vocabulário e construções sintácticas restritas Específicas de domínio (DSL) → evolução incremental + diferentes estilos Técnicas de parsing e extracção de conhecimento: Mecanismos flexíveis e robustos → validação on-the-fly Mecanismo de extensão e motor de inferência 6 Março 2008 GSI/INESC-ID 13 Conclusões (2/2) Ferramenta IDE/CASE: Feedback visual multi-perspectiva → evitar erros de especificação Promover as boas práticas de redacção de docs de requisitos Ênfase na reutilização: Templates arquitecturais e aplicacionais Integração com ferramentas MDD: Modelação e geração automática de código Trabalho Futuro: Deduzir as especificações de requisitos com base nos objectivos de negócio Requisitos executáveis → prototipagem on-the-fly 6 Março 2008 GSI/INESC-ID 14 Questões Obrigado pela vossa atenção! Contactos: Prof. Alberto Silva: [email protected] David Ferreira: [email protected] João Saraiva: [email protected] 6 Março 2008 GSI/INESC-ID 15