Faculdade de Tecnologia de São Caetano do Sul Ferramentas de Engenharia de Software Prof. Msc Adilson Ferreira da Silva 1 Ferramentas de Engenharia de Software Prof. Msc Adilson Ferreira da Silva • • • • • • • • • Mestre em Tecnologia – Centro Paula Souza ; Mestre em Sistemas de Computação – UNIFIEO ; Especialista em Análise e Projeto de Sistemas – FECAP ; Especialista em gestão de cursos em EAD – PUC/SP; Professor e Coordenador dos cursos de Tecnologia em Informática e Sistemas de informação da Faculdade IESA desde 03/1992; Ex-Consultor de Projetos de sistemas: Banco Santander, Banco Finasa, Dinap – empresa do grupo Abril e Telefonica; Ex-Coordenador de projetos de novos sistemas - Prefeitura de Santo André, 01/2001 à 02/2008 Chefe de divisão de Planejamento Organizacional, Prefeitura de São Bernardo do Campo, desde 01/2010 Sócio-Diretor da AFS-Sistemas de Informação desde 01/98. 2 Ferramentas de Engenharia de Software Ementa: Ferramentas gráficas para modelagem de sistemas (DER, DFD, Diagramas, UML). Geradores de código, de testes e de documentação. Bibliografia • COSTA, R G; RODESCHINI, L. Web - Como Programar Usando Ferramentas Livres. • Alta Books, 2006. • LARMAN, C. Utilizando UML e Padrões. Bookman 2007 • SILVA, R P. UML 2 - modelagem orientada a objetos. Visual Books, 2007. 3 Ferramentas de Engenharia de Software Metodologia de ensino • • • Aulas expositivas e práticas; Integração entre disciplinas; Trabalho de pesquisa. 4 Ferramentas de Engenharia de Software Forma de avaliação • • Avaliação de acordo ao regimento; Trabalho de pesquisa – individual ou em grupo; 5 Ferramentas de Engenharia de Software 6 Ferramentas de Engenharia de Software Engenharia de Software • Testes • • Requisitos Projeto e implementação de Software 7 Ferramentas de Engenharia de Software Geração de programa executável Edição de código fonte, compilação, depuração e geração de programa executável, ferramentas ORM, geradores de testes, etc. Análise Construção de modelos: DFD, DER, diagramas UML, etc. Projeto Planejamento de projeto, estimativa de tempo, estimativa de custos, etc. 8 Ferramentas de Engenharia de Software Estudo de caso A Consultoria XYZ foi contratada para desenvolver um sistema para que o Diretor financeiro possa averiguar e controlar as finanças de uma rede de academias, que possui 35 filiais espalhadas em todo o território nacional. As informações que foram solicitadas são: - Totais dos faturamentos diário e mensal por serviço prestado aos clientes; Totais das contas pagas por período; Totais das dividas a serem quitadas; Previsão de faturamento mensal; O dados serão atualizados somente pelo Gerente da academia, que é o responsável pelas finanças. 9 Ferramentas de Engenharia de Software Exercício em grupo: O sistema deve ser seguro, ou seja, permitir o acesso somente por funcionários autorizados. Também deve ser construído de forma que possibilite facilidades para manutenção. Pergunta-se: • • • • • Qual é o contexto do sistema? Quais devem ser os módulos do sistema? Em que ambiente/Plataforma deve operar? Em qual(is) linguagem(ns) de programação deve ser escrito? Qual deve ser o Banco de dados a ser utilizado? 10 Diagrama de contexto - SFIN Gerente Dados para fechamento diário da academia Contas a pagar Contas recebidas Faturamento por período Login/Senha Contas a receber Login/Senha SFIN Dividas Previsão de faturamento Diretor Dados do usuário Administrador 11 Módulos do Sistema - SFIN SFIN Gestão financeira da Academia Gestão financeira da rede de academias Segurança 12 Ambiente/Plataforma - SFIN Relembrando: A Consultoria XYZ foi contratada para desenvolver um sistema para que o Diretor financeiro possa averiguar e controlar as finanças de uma rede de academias, que possui 35 filiais espalhadas em todo o território nacional. As informações que foram solicitadas são: - Totais dos faturamentos diário e mensal por serviço prestado aos clientes; Totais das contas pagas por período; Totais das dividas a serem quitadas; Previsão de faturamento mensal; O dados serão atualizados somente pelo Gerente da academia, que é o responsável pelas finanças. 13 Ambiente/Plataforma - SFIN • Servidor de Rede Linux Windows Unix FreeBSD • Servidor Web Apache Tomcat IIS-Internet Information Server Jboss Web Jetty 14 Ambiente/Plataforma - SFIN • Banco de dados Remoto Distribuído • Resultado:Quais são as Ferramentas para desenvolver Servidoradequadas Web Apache SFINAN para operar Servidoresode rede operando com Linux neste ambiente? Banco de dados remoto 15 Linguagem de programação/Banco de dados • Linguagem de programação Java PHP, Pyton • IDE Eclipse Netbeans JDeveloper 16 Linguagem de programação/Banco de dados • Banco de dados PostgreSQL Firebird, Apache Derby MySql, Hypersonic SQL • Outras ferramentas para desenvolvimento: Hibernate Ajax LDAP Ireport 17 Metodologia de desenvolvimento • Análise orientada a objetos Diagramas UML Use Case Classes Seqüência 18 Gestão do projeto Ferramentas necessárias para: • Documentação. • Planejamento e controle das atividades das equipes. • Controle de Mudanças/Versões dos fontes. 19 Atividade Faça uma pesquisa para selecionar uma ferramenta que possibilite ao analista de sistemas modelar e especificar as funcionalidades do sistema SFINAN. 20