EA202 - Engenharia de Software: Teoria e Prática
Turma: A -
Período: 1/2026 -
Tipo Período: 1o. semestre -
Disciplina:
Obrigatória 6 créditos.
-
Idioma: Português
Ementa: Software e engenharia de software. Análise de sistemas computacionais. Análise de requisitos de software. Metodologias de análise de requisitos. Projeto de software: projeto preliminar e projeto detalhado. Metodologias de projeto de software. O paradigma da Orientação a Objetos. Projeto e desenvolvimento de sistemas complexos de software.
Conteúdo Programático: Teoria:
1- Software e Engenharia de Software: Software: características, componentes aplicações. A crise do software: problemas e causas. Mitos do software. Paradigmas da engenharia de software: ciclo de vida clássico, prototipação, o modelo espiral, técnica de quarta geração. 2- Análise de Sistemas Computacionais: Sistemas Computacionais: hardware, software, fatores humanos e banco de dados. Análise de Sistemas: Identificação da necessidade, Estudo de viabilidade, Viabilidade econômica, Viabilidade técnica. Metodologias de modelamento de Sistemas. Simulação de Sistemas. Especificação de Sistemas. Revisão. 3- Análise de Requisitos do Software: Atividades da análise. O analista. Técnicas de comunicação. Os princípios fundamentais da análise. Os princípios da especificação. Os princípios da representação. Prototipação. A especificação. Revisão. 4- Metodologias clássicas de Análise de Requisitos Análise estruturada. Análise segundo Jackson. DSSD. Especificação formal. Ferramentas automatizadas. 5- Projeto de software: O processo de projeto. Os produtos do projeto. Fundamentos de projeto: abstração, refinamento, ocultamento da informação, independência funcional, coesão e acoplamento. 6- Projeto detalhado. Ferramentas de projeto detalhado. 7- Projeto preliminar. Metodologias de projeto: Projeto estruturado. Projeto segundo Jackson. Projeto segundo Warnier. 8- O paradigma da Orientação a Objetos. Conceitos
Prática:
Desenvolvimento de projetos de software. Os projetos serão desenvolvidos em quatro etapas, incluindo (i) especificação dos requisitos do sistema, (ii) análise de requisitos, (iii) projeto, e (iv) implementação e testes. Ao final de cada etapa, cada equipe apresentará um relatório com a documentação apropriada à etapa concluída. Paralelamente ao desenvolvimento dos projetos, os seguintes tópicos serão abordados: 1. Introdução ao ambiente de desenvolvimento. Ferramenta CASE para desenvolvimento de sistemas - Rational Rose. 2. Fundamentos de programação orientada a objetos. Linguagens de modelagem e metodologias de desenvolvimento de sistemas orientadas a objeto. 3. A Linguagem UML. Diagramas de Use-Case. Diagramas de Classe. Diagramas de Sequência. Diagramas de Colaboração. Diagramas de Estado. Diagramas de Atividade. Diagramas de Componentes. Diagramas de Deployment. 4. Construção de interfaces com usuários. Ferramentas de auxílio à construção de interfaces. A linguagem Java. 5. Noções de banco de dados. A linguagem SQL. O pacote Java-JDBC para acesso a bancos de dados SQL. 6. Ambientes integrados de desenvolvimento. Editores sensitivos a contexto. Controle de versões de software. Testes e depuração. 7. Documentação de programas e projeto.
Plano de Desenvolvimento:
Conforme IN CCG nº 02/2025 - Cláusula de Honestidade e Lisura Acadêmica
Todas as atividades relacionadas às disciplinas devem ser realizadas em conformidade com as orientações fornecidas pelos docentes e com o devido rigor ético.
Caso o(a) docente responsável, no exercício de sua liberdade de cátedra, forme convicção acerca da ausência de lisura ou de condições adequadas para a realização da atividade avaliativa, poderá atribuir nota zero, seja para a atividade única ou, conforme o caso, para o conjunto de atividades do semestre. A ocorrência deverá ser fundamentada e comunicada à Coordenação de Curso de Graduação, podendo o(a) estudante estar sujeito a processo administrativo.
Bibliografia:
PRESSMAN,R.S. Engenharia de Software Makron / McGraw Hill, 1995.
UML Notation Guide - version 1.1 - 1 September 1997 Craig Larman - 'Applying UML and Patterns
An Introduction to Object Oriented Analysis and Design' - Prentice Hall Inc., New Jersey 1998. Mary Campione, Kathy Walrath
'The Java Tutorial : Object-Oriented Programming for the Internet (Java Series)' Addison-Wesley Pub Co, 2nd ed. 1998.
Critério de Avaliação:
Bibliografia complementar: