Um Modelo de Curso de Sistemas de Informação para Engenharia de Produção Rodrigo Franco Gonçalves (EPUSP) rofranco@osite.com.br Marcelo Schneck de Paula Pessôa (EPUSP) mpessoa@terra.com.br Mauro de Mesquita Spinola (EPUSP) mauro.spinola@poli.usp.br Resumo Neste artigo é apresentado o curso Sistemas de Informação na Produção, no qual busca-se uma visão prática de Sistemas de Informação para estudantes de engenharia de produção. O curso propõe o desenvolvimento em grupo de um sistema real, para um negócio real (trabalho de campo) e a partir de um processo bem definido e documentado. São introduzidas As técnicas da Engenharia de Software e de Informação e implementadas práticas de desenvolvimento, gestão e controle de qualidade. Palavras-chave: Engenharia de Produção, Sistemas de Informação, Ensino. 1. Introdução A área do conhecimento em Sistemas de Informação começou a ganhar espaço nos últimos anos. Cursos de formação específica (seqüenciais) e graduação tecnológica foram criados e reconhecidos pelo MEC; cursos de bacharelado em Sistemas de Informação foram criados, como uma alternativa aos cursos de análise de sistemas e ciências da computação (SBC, 1999). Em particular, na Engenharia de Produção, os sistemas de informação ganharam espaço já a algum tempo, mas este espaço vem crescendo dado o avanço da automação dos processos industriais, uso estratégico da tecnologia da informação e a adoção de sistemas integrados de gestão. Neste artigo é descrito o modelo empregado para a disciplina Sistemas de Informação na Produção, ministrado para alunos de quinto semestre do curso de Engenharia de Produção em uma universidade pública. O artigo pretende contribuir com uma visão do ensino de Sistemas de Informação (SI) voltada para a prática, na qual o aluno é conduzido ao exercício da engenharia em campo. Desta forma, pretende-se atingir um duplo objetivo: o ensino de técnicas da engenharia em campo voltadas para SI e o ensino de conceitos e técnicas de desenvolvimento de sistemas e Engenharia de Software. Primeiramente, são discutidos os conceitos referentes a Sistemas de Informação e algumas possíveis abordagens de um curso de SI. Neste contexto, é apresentado o modelo de curso desenvolvido e seus objetivos específicos. São apresentadas as ferramentas usadas no curso e, por fim, são discutidos os resultados alcançados. 2. Desenvolvimento de Sistemas de Informação O Ministério de Ciência e Tecnologia do Governo Federal, em pesquisa realizada em âmbito nacional em 2001, constata que poucas organizações desenvolvedoras de software adotam práticas sistêmicas de qualidade e produtividade. Poucas, também, possuem processos claros e bem estabelecidos de desenvolvimento (MCT, 2002). Entretanto, os relatos existentes sobre fracassos em projetos de SI, prazos e orçamentos estourados em mais de 100% são bastante comuns nesta área. Pressman (2002) chaga a usar ENEGEP 2005 ABEPRO 5517
o termo crise do software para descrever esta situação. Acredita-se que a prática da Engenharia de Software tenha como missão a garantia do desenvolvimento de software, condizente com de um plano bem estabelecido e a partir de um processo bem definido, como forma de evitar a inocorrência do projeto nas estatísticas da crise. 3. O Ensino de Sistemas de Informação A SBC (Sociedade Brasileira de Computação) apresenta diretivas para a criação da grade curricular de cursos de bacharelado em SI. No enfoque do bacharelado, é destacado que o ensino de Sistemas de Informação deve estar comprometido com o desenvolvimento de competências que possibilitem ao estudante, e futuro profissional, abordar de forma sistêmica os problemas organizacionais e propor soluções tecnológicas alinhadas às necessidades das organizações, levando em conta os níveis individual, em grupo e organizacional e as dimensões organizacional, humana e tecnológica (SBC, 2003). Sistemas de Informação são definidos como "... um conjunto de componentes interrelacionados para coleta (ou recuperação), processamento, armazenamento, e distribuição da informação para suporte à tomada de decisão e controle em uma organização. Além de dar suporte ao processo decisório, à coordenação e ao controle, sistemas de informação podem também auxiliar gerentes e trabalhadores a analisar problemas, visualizar situações complexas, e criar novos produtos (LAUDON e LAUDON, 1998 apud SBC, 2003). Na literatura, encontra-se diferentes formas de organizar e estruturar o conhecimento referente a SI, conforme os livros da área. Stair (1998) adota uma abordagem que envolve Hardware, software, bancos de dados, redes e telecomunicações. SI nas organizações. Desenvolvimento de sistemas e Engenharia de Software. Gerenciamento de SI. Uma abordagem semelhante é adotada por Laudon e Laudon (2002). Neste universo, pode-se identificar diferentes enfoques possíveis para um curso de SI: a) Visão focada em sistemas de informática, em um contexto de negócio. Esta visão enfoca principalmente os sistemas computacionais, do hardware às diferentes aplicações de software. São abordadas as arquiteturas de sistemas, como mainframe, cliente-servidor e desktop; ambientes de rede de computadores; sistemas de bancos de dados; sistemas aplicativos empresariais, como aplicativos de escritório, planilhas, controles de workflow e sistemas integrados de gestão, entre outros. Esta visão de SI é basicamente descritiva e classificatória e foca SI em si; o negócio é visto em um segundo plano. b) Visão focada no negócio, em um contexto de sistemas de informática. Esta visão parte de uma visão organizacional para uma visão de SI. É feita uma abordagem sistêmica do negócio e a partir desta é apresentada a concepção de sistemas de informação, como uma solução para o negócio. Esta visão parte da Engenharia da Informação para Sistemas de Informação. Muitas vezes adota-se um enfoque estratégico de SI nos negócios. c) Visão administrativa. Nesta visão, os sistemas de administração são abordados sob enfoque gerencial, contemplando os aspectos de gerenciamento de recursos, estratégia de Tecnologia de Informação e obtenção de vantagem competitiva. ENEGEP 2005 ABEPRO 5518
d) Visão de Engenharia de Software. Nesta visão, enfoca-se a construção de SI sob a ótica do processo de desenvolvimento. Enfoca-se o desenvolvimento em etapas, aquisição de requisitos, modelagem, garantia de qualidade e aspectos gerenciais. A implementação do sistema em linguagem de programação é considerada como uma etapa do processo na Engenharia de Software, e não é abordada no aspecto técnico. e) Visão de programação. Esta visão também enfoca a construção de SI, porém dentro de um contexto de programação. São apresentadas as técnicas de programação, linguagens, estruturas de dados e algoritmos. O curso de Sistemas de Informação na Produção ministrado enquadra-se tipicamente na categoria de Engenharia de Software, entretanto, alguns aspectos das outras abordagens não são desconsiderados. Considerando os problemas do desenvolvimento de software em geral e de SI em particular propõe-se a construção de um sistema de informação, como trabalho em grupo, de acordo com os princípios da Engenharia de Software (PRESSMAN, 2002; PAULA FILHO, 2003; SOMMERVILLE, 2003) e da Engenharia da Informação (MARTIN, 1991; FURLAN et al. 1988): a) Identificação de uma necessidade real de SI por parte de uma empresa do mercado: o grupo de trabalho deve encontrar uma empresa e propor a construção de um sistema. Não deve haver uma relação comercial. b) Alinhamento do projeto de SI com o negócio: identificação das necessidades da empresa e revisão dos processos organizacionais no âmbito do sistema a ser desenvolvido. Deve ser feita, também, uma descrição do negócio. c) Desenvolvimento do sistema mediante processo: levantamento de requisitos, análise, desenho, desenvolvimento e testes (PAULA FILHO, 2003). d) Planejamento do projeto, com cronograma e estimativas de prazos e recursos, juntamente com registros das atividades e horas trabalhadas. e) Gestão da qualidade de software. O sistema é desenvolvido usando-se o Microsoft Access, dada a facilidade de utilização. Não são consideradas questões de desempenho, robustez e segurança, entre outras, uma vez que a finalidade do projeto é puramente didática e o enfoque principal é no processo de desenvolvimento e não no sistema em si. 4. Estrutura do Curso O curso tem duração de um semestre e quatro horas-aula semanais. Há disponibilidade de laboratório de informática para trabalhos, com monitoria, e algumas aulas são também ministradas no laboratório. É considerado preexistente conhecimentos de informática e lógica de programação. 4.1. Objetivos Os seguintes objetivos específicos são propostos: analisar como as informações fluem dentro de uma empresa, organizar e classificar as informações de uma empresa (sob a ótica de SI), projetar e desenvolver um sistema que manipule informações manuais utilizando técnicas de Organização e Métodos, especificar e desenvolver um Sistema de Informação. O aluno deverá adquirir os seguintes conhecimentos: ENEGEP 2005 ABEPRO 5519
Conceitos básicos de Informática: Hardware e Software Engenharia da Informação: como organizar a informação na empresa Engenharia de Software: como planejar, gerenciar e desenvolver um Sistema Método de Análise e Projeto Orientados a Objetos e fundamentos de UML Unified Modeling Language (BOOCH et al. 1999) Normalização de dados e uso de ferramenta voltada a Bancos de Dados. No âmbito geral da engenharia de produção o aluno deve desenvolver as seguintes habilidades: Trabalho em equipe, divisão de tarefas e planejamento de atividades. Entrevistas com clientes para levantamento de necessidades Projeto completo de um Sistema de Informação. 4.2. Organização do curso O curso é estruturado para trabalho em grupos de até quatro alunos, que devem desenvolver um trabalho por etapas, com datas predeterminadas para conclusão, sendo cada etapa uma precondição para a etapa seguinte, com exceção da primeira. O trabalho desenvolvido chamase Trabalho de Sistemas de Informação (TSI) e é constituído por uma série de documentos com nome, número e formatação padronizados. Os documentos são colocados em uma pasta de projeto do grupo, que fica em poder do professor. O TSI é orientado por documentosroteiro que trazem as instruções para a realização de cada documento produzido pelos alunos. Os documentos de instruções são entregues com antecedência e é dada uma aula para explicar a atividade em questão. A formação das equipes de trabalho tem por objetivo simular a situação real nas empresas, onde praticamente nenhum trabalho de porte é realizado individualmente, e permitir que, em um curto espaço de tempo, possa ser desenvolvido um trabalho completo. A interação entre os elementos da equipe é fundamental e faz parte do aprendizado. A primeira parte do curso de SI introduz o jargão técnico utilizado em computação, tanto em software como em hardware, e apresenta os problemas que os profissionais enfrentam para desenvolver Sistemas de Informação, vistos sob a ótica de quem desenvolve - Engenharia de Software - e sob a ótica de quem especifica - Engenharia da Informação. Na segunda parte do curso há uma mescla de aulas teóricas e práticas, visando apresentar um método de projeto e construção de Sistemas de Informação. 5. Descrição do Trabalho de SI Em cada etapa do TSI (fora a primeira) há a participação de dois grupos: um grupo será o responsável pelo desenvolvimento do projeto de SI propriamente dito, enquanto o outro grupo será responsável pela garantia da qualidade do trabalho. O grupo de projeto deve definir o projeto que irá desenvolver e cuidar do desenvolvimento deste ao longo das diferentes etapas. O grupo de gestão da qualidade deve acompanhar e auditar a qualidade do projeto. Um grupo de projeto é também grupo de qualidade para outro e vice-versa. Ambos os grupos devem entregar os respectivos documentos e registros de atividades aos professores. Os professores fazem a correção e avaliação dos trabalhos e retornam o resultado para os grupos. A figura 1 ilustra o processo global do trabalho. ENEGEP 2005 ABEPRO 5520
Fazer a definição Fazer o desenvolvime Grupo de projeto Entregar documentos Realizar correção e avaliação Professores Exercer a garantia da Qualidade Grupo de qualidade Entregar documentos Figura 1. Casos de Uso do curso A avaliação do TSI é feita com base nos documentos entregues e na verificação do funcionamento adequado do sistema. 5.1 Elementos do projeto e nomenclatura Os principais elementos do Processo de Desenvolvimento de Software são: fases, fluxos de trabalho, atividades e artefatos (PAULA FILHO, 2003). As fases são subdivisões do processo para fins de gerenciamento. No TSI não é necessária a definição de fases para o processo, pois o projeto deve ser razoavelmente sismples. Os fluxos de trabalho são processos técnicos que reúnem um conjunto ordenado de atividades e estão relacionados a alguma disciplina da Engenharia de Software. Por exemplo, o fluxo de Requisitos reúne as atividades de obtenção e descrição dos requisitos do projeto e relaciona-se à Engenharia de Requisitos. Os fluxos podem ser de ordem gerencial ou técnica. Os fluxos possuem um início e um fim bem definidos. Um elemento muito importante no Processo de Desenvolvimento de Software é o artefato (PAULA FILHO, 2003). Um artefato é o resultado material (produto) de uma atividade ou fluxo. Assim, todos os documentos que devem ser entregues aos professores são artefatos. O próprio software que desenvolvido pelo grupo de trabalho é também um artefato. Outros artefatos do TSI são os registros e os controles de versão. Os artefatos do TSI são explicados na tabela 1. Artefato sigla Descrição Documento Dn Documentos textuais elaborados em editor de texto com auxílio de programas gráficos, se necessário, para a criação de diagramas. Registro Rn É o registro das horas trabalhadas em cada atividade e por cada elemento do grupo, para fins gerenciais. Sistema Controle de versão O sistema que será desenvolvido para o cliente e apresentado no final do curso. Este artefato é incorporado a cada Documento, na forma de uma pequena tabela na folha de rosto do documento, contendo as datas de alteração e de revisão. Tabela1. Artefatos do TSI 5.2. Documentos do TSI O trabalho é desenvolvido através da entrega de documentos ao longo do semestre. Cada equipe possui uma pasta de projeto onde são colocados esses documentos. Essa pasta é usada ENEGEP 2005 ABEPRO 5521
pela equipe e entregue ao professor em cada etapa. Os documentos de qualidade são anexados à pasta de projeto do grupo ao qual se referem. Os documentos entregues pelo grupo de projeto são descritos na tabela 2. Em particular, o primeiro documento (D01) é uma pesquisa sobre hardware e software e não está relacionada ao projeto do sistema do curso. Foca uma visão geral do universo de SI a partir de vários temas de pesquisa sugeridos. Os resultados das pesquisas são apresentados em seminários. Documento D01: Pesquisa de Hardware e Software D02: Alinhamento do projeto de SI Descrição Pesquisa sobre hardware e software com temas pré-definidos. Cada grupo escolhe um tema de hardware e um de software. É feito o alinhamento do sistema a ser desenvolvido com o negócio da empresa. São identificados os objetivos, metas e fatores críticos de sucesso para o negócio. (FURLAN et al., 1988) D03: Requisitos Levantamento de contexto, escopo, requisitos funcionais e não-funcionais para o sistema. Criação de modelo de Casos de Uso (BOOCH et al. 1999; PAULA FILHO, 2003) D04: Plano de Definição de cronograma e planejamento de recursos a partir de estimativas de Desenvolvimento baseados em Use Case Points (PAULA FILHO, 2003) R04: Gerência de Registros das alterações dos documentos de projeto e rastreabilidade das alterações Configuração (PRESSMAN, 2002; SOMMERVILLE, 2003). D05: Manual do Usuário Planejamento das interfaces com o usuário, navegação (seqüência de telas) e operações. São trabalhados conceitos simples de usabilidade. Elaborado a partir do documento de requisitos (PAULA FILHO, 2003). D06: Análise Identificação das classes e visão conceitual do sistema. É elaborado um diagrama de classes e de seqüência (BOOCH et al. 1999; PAULA FILHO, 2003). D07: Desenho Desenho a partir do documento de análise com nível de detalhamento para implementação. Definição do modelo de dados normalizado (PAULA FILHO, 2003). D08: Implementação Documento contendo as informações de implementação, visando a futura manutenção do sistema. São descritos as tabelas, consultas e procedimentos (macros) usados e suas correlações. D09: Plano de Testes Plano para testes do sistema, construído a partir dos Casos de Uso e manual do usuário (PAULA FILHO, 2003). São definidos os casos de teste, ações de teste, procedimentos e parâmetros de teste. É gerado, também, um registro das baterias de testes realizadas (R09) D10: Relatório Final do Projeto São descritos as atividades realizadas e o tempo e esforço real despendido no trabalho. É feita uma comparação com as estimativas do Plano de Desenvolvimento (D04). Tabela 2. Documentos entregues pelo grupo de projeto 5.3. Documentos de Garantia de Qualidade A atividade de Garantia de Qualidade é exercida em paralelo com a atividade de desenvolvimento, mas por uma equipe diferente. Um grupo faz a auditoria (gestão) da qualidade do trabalho de outro grupo e apresenta um relatório desta nos pontos de checagem do projeto, correspondentes à entrega dos documentos de projeto. Ou seja, cada documento de projeto apresentado por um grupo deverá ser acompanhado de um documento de qualidade elaborado pelo grupo responsável pela qualidade. Os documentos de qualidade são entregues na aula seguinte à da entregue do documento de projeto correspondente. Uma vez que a elaboração do documento de qualidade depende do documento de projeto correspondente, o grupo de projeto deve entregar uma cópia ao grupo de qualidade juntamente com a cópia apresentada ao professor. O documento de projeto é um insumo para o documento de qualidade. A figura 2 ilustra este processo. Enquanto o grupo de qualidade elabora o documento de qualidade o grupo de projeto inicia a próxima tarefa. Os documentos entregues pelo grupo de qualidade são mostrados na tabela 3. O grupo de qualidade faz anotações a respeito de cada item do documento de projeto, de ENEGEP 2005 ABEPRO 5522
acordo com uma planilha criada pelos professores. Esta planilha permite que em todo documento de qualidade seja emitido um laudo atestando ou não a conformidade do documento. Para cada item analisado é atribuída uma nota de conformidade (zero a três) e assinalado se o item deve ou não ser refeito pelo grupo de projeto. Em caso de nãoconformidade do documento de projeto, este deve ser totalmente refeito (nova versão, com registro) a partir das anotações do grupo de qualidade. Documento DQ02: Qualidade do Alinhamento do projeto de SI DQ03: Qualidade dos Requisitos DQ04: Qualidade do Plano de desenvolvimento DQ05: Qualidade do Manual do Usuário DQ06: Qualidade da Análise DQ07: Qualidade do Desenho DQ08: Qualidade da Implementação DQ09: Qualidade do Plano de Testes DQ10: Relatório Final de Qualidade Descrição Verifica-se se o grupo de projeto efetivamente retratou a empresa para o qual vai desenvolver o sistema ou se somente relatou informações já disponíveis sobre esta, sem fazer efetivamente um trabalho de campo. Verifica-se, também, a clareza e completeza dos aspectos de Alinhamentos de Projeto de SI. Verifica-se se os requisitos estão completos (permitem a compreensão do sistema como um todo), suficientemente detalhados e corretamente representados. Verifica-se se o cronograma está correto e se as estimativas estão condizentes e razoáveis. O grupo de qualidade, representado o usuário, verifica se o manual permite entender o funcionamento do sistema. Verifica-se a correção da semântica e sintaxe dos diagramas UML. A qualidade do desenho é observada sob dois pontos de vista: a partir do aspecto da análise e do aspecto da implementação. É necessário saber se o que está representado no desenho corresponde ao que foi pensado na análise e se os elementos representados no desenho estão detalhados o suficiente para dar início à implementação. Verifica-se se o documento de implementação é claro e detalhado o suficiente para alguém que não participou do desenvolvimento possa entender como o sistema funciona e dar manutenção. Verifica-se se o plano de teste cobre todos os aspectos do funcionamento do sistema e se os procedimentos e parâmetros de teste estão Verifica-se se as atividades foram corretamente registradas para o relatório final de projeto. Tabela 3. Documentos entregues pelo grupo de qualidade Grupo de Projeto Grupo de Qualidade Documento Prazo Entrega de doc. de projeto Dx T Entrega de doc. de qualidade DQx T + 1 Próxima tarefa Figura 2. Sincronização e dependência das tarefas de projeto e de garantia de qualidade 6. Discussão Final No curso Sistemas de Informação na Produção o foco principal é o processo correto de desenvolvimento de SI, sob a ótica da engenharia. Assim, é melhor um sistema mais simples, construído corretamente, com documentação completa, alinhado às necessidades do negócio, ENEGEP 2005 ABEPRO 5523
do que um sistema complexo porém implementado em código de difícil manutenção, sem documentação e distante das necessidades do negócio. Pretende-se, com uma prática de engenharia, evitar os problemas que caracterizam a crise do software e os problemas típicos de desenvolvimento de SI, como estouro de prazos e orçamentos, alinhados muitas vezes com a ineficácia dos sistemas desenvolvidos. O nível de exigência é bastante rigoroso, mas condizente com a realidade dos alunos da faculdade em questão: os alunos seguem regime de dedicação integral, no período diurno, e não têm permissão para realizar estágio no terceiro ano; ano no qual deixam o ciclo básico das engenharias (biênio) e ingressam na engenharia de produção. Esta pode ser uma restrição importante na adoção do modelo aqui apresentado por outra instituição. Referências BOOCH, Grady; JACOBSON. Ivar; RUMBAUGH, James. The Unified Modeling Language User Guide. Addison-Wesley, 1999. FURLAN, José Davi; FELICIANO NETO, Acácio; HIGA, Wilson. Engenharia da Informação. Mc Graw Hill, 1988. LAUDON, C. K.; LAUDON, J. P. Management information system: organization and technolog, 5. ed., EUA, Prentice-Hall, 1998. LAUDON, C. K.; LAUDON, J. P. Management information system: organization and technolog, EUA, Prentice- Hall, 2002. MARTIN, James, Engenharia da Informação. Ed. Campus, 1991. MCT - Ministério de Ciência e Tecnologia. Qualidade e Produtividade no Setor de Software. 2002. Disponível em <www.mct.gov.br/temas/info/dsi/software/ menu_qualidade.htm>. Acessado em 10/04/2004. PAULA Filho, Wilson de Pádua. Engenharia de Software. LTC, 2003. PRESSMAN, R., Engenharia de Software, McGraw Hill, 5a ed., 2002. SBC - Sociedade Brasileira de Computação. Currículo de Referência da SBC para Cursos de Graduação em Computação e Informática. SBC, 1999. SBC - Sociedade Brasileira de Computação. Currículo de Referência para Cursos de Bacharelado em Sistemas de Informação. SBC Diretoria de Educação, 2003. SOMMERVILLE, Ian. Engenharia de Software. Ed. Pearson Education do Brasil. 2003. STAIR, Ralph M. Princípios de Sistemas de Informação: uma abordagem gerencial. Rio de Janeiro: LTC, 1998. ENEGEP 2005 ABEPRO 5524