Impressão em: 03-01-2013 16:10:47 Ficha da Unidade Curricular (UC) 1. Identificação Unidade Orgânica : Escola Superior de Tecnologia e Gestão Curso : [IS] Informática para a Saúde Tipo de Curso : UC/Módulo : Engenharia de Software e Gestão de Projectos de Saúde Carácter : obrigatória Área Científica : Sistemas de Informação ECTS : 6 Ano : 2º Semestre : 2º Ano Letivo : 2011/2012 Pré-Requisitos : Não tem. Horas de Trabalho Ensino Teórico (T) 30:00 Ensino Prático Laboratorial (PL) 45:00 Orientação Tutorial (OT) 5:00 Horas de Trab. Autónomo 82:00 Horas Totais 162:00 Idioma: Português e Inglês 2. Corpo Docente Docente Responsável : Rui Pedro Charters Lopes Rijo Docentes: Pedro Romeu Henriques Ferreira Rui Pedro Charters Lopes Rijo 3. Enquadramento A disciplina tem como enquadramento a engenharia de software, com ênfase na especificação, desenvolvimento e validação de software crítico, e na utilização de processos, técnicas e ferramentas no planeamento e execução de projectos de software na área da Saúde. 4. Objetivos/Competências Gerais CG1. Analisar e desenhar software crítico correlacionado com a área da Saúde; CG2. Utilizar técnicas e ferramentas para especificar software, nomeadamente nas disciplinas da engenharia de requisitos, desenho e desenvolvimento de software; CG3. Realizar testes de software; CG4. Planear e gerir projectos de software. Específicas CG1. Analisar e desenhar software crítico correlacionado com a área da Saúde; CE1. Identificar vulnerabilidades num sistema CE2. Identificar os requisitos críticos num sistemas CE3. Utilizar as técnicas e as ferramentas para desenho de software crítico CE4. Justificar as opções assumidas no desenho de um sistema CG2. Utilizar técnicas e ferramentas para especificar software, nomeadamente nas disciplinas da engenharia de requisitos, desenho e desenvolvimento de software; CE5. Utilizar os conceitos de modularidade e de abstracção CE6. Utilizar os principais padrões de desenho de software CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhando-as com os objectivos da organização
CG3. CG4. Realizar testes de software; CE8. Desenhar testes de unidade de integração e de sistema CE9. Utilizar as ferramentas necessarias para a a realização dos tests CE10. Documentação dos testes de software Planear e gerir projectos de software. CE11. Especificar o âmbito de um projecto CE12. Estimar o tempo e o custo de um projecto CE13. Definir as características de qualidade de um projecto Transversais CT1. Capacidade de análise e raciocínio CT2. Capacidade de planear e realizar projectos CT3. Capacidade de liderança CT4. Capacidade em estudar autonomamente CT5. Trabalho em equipa 5. Programa 5.1 Resumido 1. Processos de desenvolvimento de software 2. Levantamento e especificação de requisitos 3. Desenho de software 4. Testes 5. Gestão de projectos de software 5.2 Detalhado 1. Processos de desenvolvimento de software 1.1. Waterfall 1.2. ICONIX 1.3. XP Extreme Programming 1.4. Rational Unified Process 2. Levantamento e especificação de requisitos 2.1. Requisitos de software 2.2. Formalização de requisitos de software 2.3. Especificação de sistemas críticos 2.4. Especificações formais 2.5. Diagramas UML 3. Desenho de software 4. Testes 3.1. Modelação de Sistemas 3.2. Desenho orientado a objectos 3.3. Desenho da Arquitectura 3.4. Software baseado em componentes 3.5. Reutilização de software 3.6. Evolução do software 4.1. Verificação e validação 4.2. Testes unitários 4.3. Testes de sistema 4.4. Testes de integração 5. Gestão de projectos de software 5.1. Gestão de tempo, recursos humanos, âmbito e custos de projectos de software; 5.2. Gestão da qualidade e do risco em projectos de software para a área da Saúde; 5.3. Gestão de configurações. 5.3 Fundamentação da coerência dos conteúdos programáticos com os objetivos/competências da unidade curricular A unidade curricular de Engenharia de Software e Gestão de Projectos de Saúde procura fornecer aos estudantes as bases para o desenvolvimento de software para a Saúde e a gestão de projectos de informática neste sector. Desta forma, são introduzidos os conceitos base sobre levantamento e especificação de requisitos, desenho de software, testes, gestão de configurações e versões e entrada em produção de software. Estes elementos são ainda apresentados na perspectiva de gestão de projectos, nomeadamente na avaliação de projectos, elaboração de planos de trabalho temporais e orçamentais, determinação do caminho crítico, gestão de risco, da comunicação e
dos recursos humanos. São ainda apresentados os principais processos e áreas funcionais das organizações de saúde que suportam a actividade de desenvolvimento de projectos de informática na saúde. Podemos relacionar os seguintes tópicos do programa detalhado, com cada uma das seguintes competências específicas: 1.1. Waterfall: CE4. Justificar as opções assumidas no desenho de um sistema 1.2. ICONIX: CE4. Justificar as opções assumidas no desenho de um sistema 1.3. XP Extreme Programming: CE4. Justificar as opções assumidas no desenho de um sistema 1.4. Rational Unified Process: CE4. Justificar as opções assumidas no desenho de um sistema 2.1. Requisitos de software: CE2. Identificar os requisitos críticos num sistemas; CE4. Justificar as opções assumidas no desenho de um sistema; CE11. Especificar o âmbito de um projecto 2.2. Formalização de requisitos de software: CE2. Identificar os requisitos críticos num sistemas; CE4. Justificar as opções assumidas no desenho de um sistema; CE11. Especificar o âmbito de um projecto 2.3. Especificação de sistemas críticos: CE1. Identificar vulnerabilidades num sistema; CE2. Identificar os requisitos críticos num sistemas; CE4. Justificar as opções assumidas no desenho de um sistema; CE11. Especificar o âmbito de um projecto 2.4. Especificações formais: CE1. Identificar vulnerabilidades num sistema; CE4. Justificar as opções assumidas no desenho de um sistema; CE11. Especificar o âmbito de um projecto 2.5. Diagramas UML: CE2. Identificar os requisitos críticos num sistemas; CE4. Justificar as opções assumidas no desenho de um sistema; CE5. Utilizar os conceitos de modularidade e de abstracção; CE6. Utilizar os principais padrões de desenho de software; CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhandoas com os objectivos da organização; CE11. Especificar o âmbito de um projecto 3.1. Modelação de Sistemas: CE2. Identificar os requisitos críticos num sistemas; CE4. Justificar as opções assumidas no desenho de um sistema; CE5. Utilizar os conceitos de modularidade e de abstracção; CE6. Utilizar os principais padrões de desenho de software; CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhando-as com os objectivos da organização 3.2. Desenho orientado a objectos: CE3. Utilizar as técnicas e as ferramentas para desenho de software crítico; CE4. abstracção; CE6. Utilizar os principais padrões de desenho de software; CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhando-as com os objectivos da organização 3.3. Desenho da Arquitectura: CE3. Utilizar as técnicas e as ferramentas para desenho de software crítico; CE4. abstracção; CE6. Utilizar os principais padrões de desenho de software; CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhando-as com os objectivos da organização 3.4. Software baseado em componentes: CE3. Utilizar as técnicas e as ferramentas para desenho de software crítico; CE4. Justificar as opções assumidas no desenho de um sistema; CE5. Utilizar os conceitos de modularidade e de abstracção; CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhando-as com os objectivos da organização 3.5. Reutilização de software: CE3. Utilizar as técnicas e as ferramentas para desenho de software crítico; CE4. abstracção; CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhando-as com os objectivos da organização 3.6. Evolução do software: CE3. Utilizar as técnicas e as ferramentas para desenho de software crítico; CE4. abstracção; CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhando-as com os objectivos da organização 4.1. Verificação e validação: CE1. Identificar vulnerabilidades num sistema 4.2. Testes unitários: CE1. Identificar vulnerabilidades num sistema; CE4. Justificar as opções assumidas no 4.3. Testes de sistema: CE1. Identificar vulnerabilidades num sistema; CE4. Justificar as opções assumidas no 4.4. Testes de integração: CE1. Identificar vulnerabilidades num sistema; CE4. Justificar as opções assumidas no 5.1. Gestão de tempo, recursos humanos, âmbito e custos de projectos de software; CE4. Justificar as opções assumidas no desenho de um sistema; CE11. Especificar o âmbito de um projecto; CE12. Estimar o tempo e o custo de um projecto 5.2. Gestão da qualidade e do risco em projectos de software para a área da Saúde: CE1. Identificar vulnerabilidades num sistema; CE4. Justificar as opções assumidas no desenho de um sistema; CE13. Definir as características de qualidade de um projecto 5.3. Gestão de configurações: CE4. Justificar as opções assumidas no desenho de um sistema; CE7. Tomar opções de desenho, conhecendo as suas consequências e alinhando-as com os objectivos da organização 6. Metodologia de Ensino / Aprendizagem 6.1 Presencial e Autónoma A metodologia de aprendizagem desenvolve-se através das seguintes componentes: Presencial 1. Ensino teórico 1.1 Apresentação dos conceitos 1.2 Exemplificação e aplicação a problemas reais 2. Ensino teórico-prático 2.1 Modelação e resolução de problemas 2.2 Análise crítica dos problemas e das soluções 3. Ensino prático e laboratorial 3.1 Realização de exercícios de ilustração dos princípios 3.2 Desenvolvimento de trabalho prático 4. Orientação tutorial 4.1 Sessões de orientação pessoal, em pequenos grupos para conduzir o processo de aprendizagem e esclarecerem-se dúvidas Autónoma 1. Estudo 1.1 Leitura de excertos de bibliografia recomendada pela unidade curricular 1.2 Resolução dos exercícios recomendados pela unidade curricular 2. E-aprendizagem 2.1 Consulta de material relativo à unidade curricular 6.2 Recursos Específicos
1. Ensino teórico - sala de aula normal 2. Ensino teórico-prático - sala de aula normal 3. Ensino prático e laboratorial laboratório de Informática 4. Orientação tutorial gabinete ou sala de aula normal 6.3 Fundamentação da coerência das metodologias de ensino com objetivos/competências da unidade curricular As metodologias de ensino usadas contribuem para as competências gerais estabelecidas para a UC da seguinte forma: Presencial 1. Ensino teórico 1.1 Apresentação dos conceitos (C1 e C4) 1.2 Exemplificação e aplicação a problemas reais (C1, C2, C3 e C4) 2. Ensino teórico-prático 2.1 Modelação e resolução de problemas (C2 e C3) 2.2 Análise crítica dos problemas e das soluções (C2 e C3) 3. Ensino prático e laboratorial 3.1 Realização de exercícios de ilustração dos princípios (C2, C3 e C4) 3.2 Desenvolvimento de trabalho prático (C2, C3 e C4) 4. Orientação tutorial 4.1 Sessões de orientação pessoal, em pequenos grupos para conduzir o processo de aprendizagem e esclarecerem-se dúvidas (C1, C2, C3 e C4) Autónoma 1. Estudo 1.1 Leitura de excertos de bibliografia recomendada pela unidade curricular (C1, C2, C3 e C4) 1.2 Resolução dos exercícios recomendados pela unidade curricular (C1, C2, C3 e C4) 2. E-aprendizagem 2.1 Consulta de material relativo à unidade curricular (C1, C2, C3 e C4) 7. Avaliação 7.1 Descrição Os métodos de avaliação de conhecimentos e competências são os seguintes: AVALIAÇÃO PERIÓDICA Duas Provas Escritas Individuais (PEI1, PEI2) com mínimos de 9,5 valores. Um trabalho prático (TP) com mínimo de 9,5 valores. Classificação Final: 0,25*PEI1+0,25*PEI2 + 0,5TP AVALIAÇÃO FINAL Prova escrita individual final (PEI) e prova prática (PP). Classificação Final: 0,5 PEI + 0,5 PP 7.2 Número de Elementos de Avaliação 7.2.1 Contínua/Periódica: 3 7.2.2 Final: 1 8 Bibliografia 8.1 Principal Ian Sommerville, Software Engineering, Addison-Wesley, 2010 Hassan Gomaa, Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures, Cambridge University Press, 2011. Alberto Silva e Carlos Videira, UML - Metodologias e Ferramentas CASE, Centro-Atlântico, 2005. António Miguel, Gestão de Projectos de Software, FCA, 2010. 8.2 Complementar Não tem. 9. Aprovação pelo CTC
Aprovado em Conselho Científico em : 29-06-2012