Engenharia de Software
Professor: Jefferson Antonio Ribeiro Passerini (Mestre)
Sobre a Matéria
A disciplina de Engenharia de Software aborda os princípios, métodos e ferramentas necessários para o desenvolvimento de software de alta qualidade. Ela fornece uma visão abrangente do ciclo de vida do desenvolvimento de software, desde a concepção até a manutenção.
Nesta matéria, os alunos aprendem sobre diferentes modelos de processo de software (cascata, incremental, ágil), técnicas de levantamento e análise de requisitos, modelagem de sistemas, arquitetura de software, padrões de projeto, verificação e validação, e gestão de qualidade.
A disciplina também aborda aspectos importantes como documentação, manutenção, reengenharia, estimativa de custos e prazos, e gestão de riscos. Os estudantes desenvolvem habilidades práticas através de projetos que simulam situações reais do mercado, aplicando os conceitos teóricos em contextos práticos.
Conteúdos
Processos de Software
Os processos de software são conjuntos de atividades organizadas que visam a produção, entrega e evolução de sistemas de software. Eles definem etapas como especificação, desenvolvimento, validação e manutenção, garantindo qualidade e eficiência.
Processo Unificado - RUP
Técnicas e ferramentas para elicitação, análise, especificação e validação de requisitos de software. Documentação de requisitos funcionais e não-funcionais, casos de uso, histórias de usuário e gerenciamento de mudanças.
Engenharia de Requisitos
A Engenharia de Requisitos é o processo de descoberta, análise, documentação e validação dos serviços que um sistema deve oferecer e das restrições sob as quais ele deve operar. Esses requisitos refletem as necessidades dos clientes e usuários finais.
Casos de Uso - UML
Diagramas de Casos de Uso são ferramentas visuais da UML que descrevem as funcionalidades de um sistema sob a perspectiva dos usuários (atores). Eles são essenciais para capturar requisitos funcionais e modelar interações entre atores e sistema.
Modelagem de Sistemas
A modelagem de sistemas é um processo de criação de representações abstratas de um sistema, cada uma focando em aspectos específicos como estrutura, comportamento ou interações. Esses modelos são essenciais para entender, projetar e comunicar o sistema antes de sua implementação.
Projeto Arquitetura
O projeto de arquitetura define a estrutura geral de um sistema de software, organizando seus componentes e suas interações para atender requisitos funcionais e não funcionais. É fundamental para garantir escalabilidade, manutenibilidade e desempenho.
Diagrama de Classes - UML
O diagrama de classes é um dos diagramas mais importantes da UML, utilizado para representar a estrutura estática de um sistema, mostrando as classes, seus atributos, métodos e os relacionamentos entre elas. Ele é essencial para modelar a lógica do sistema e facilitar a comunicação entre desenvolvedores.