Sei sulla pagina 1di 31

Universidade Federal do Cear Campus de Quixad

Curso de Engenharia de Software


Modalidade: Bacharelado

PROJETO POLTICO PEDAGGICO

Abril 2009

EQUIPE RESPONSVEL

COORDENAO DO PROJETO Davi Romero de Vasconcelos Professor Adjunto do Campus de Quixad Flvio Rubens de Carvalho Sousa Professor Assistente do Campus de Quixad Jefferson de Carvalho Silva Professor Assistente do Campus de Quixad Lincoln Souza Rocha Professor Assistente do Campus de Quixad

Assessoria Pedaggica / PROGRAD Custdio Lus Silva de Almeida Pr-Reitor de Graduao Ins Mamede Coordenadora de Projetos e Acompanhamento Curricular Yangla Kelly Oliveira Rodrigues Diretora de Pesquisa e Desenvolvimento Curricular

SUMRIO
1. APRESENTAO 2. JUSTIFICATIVA 3. PRINCPIOS NORTEADORES 4. OBJETIVOS DO CURSO 5. COMPETNCIAS E HABILIDADES A SEREM DESENVOLVIDAS 6. PERFIL DO PROFISSIONAL A SER FORMADO (PERFIL DO EGRESSO) 7. REAS DE ATUAO 8. METODOLOGIAS DE ENSINO E APRENDIZAGEM 9. ORGANIZAO CURRICULAR 9.1. ESTRUTURA DO CURRCULO 9.2. UNIDADES CURRICULARES 9.3. DISCIPLINAS POR DEPARTAMENTO 9.4. EMENTRIO DAS DISCIPLINAS 9.5. ESTGIO SUPERVISIONADO 9.6. TRABALHO DE CONCLUSO DE CURSO E MONOGRAFIA 9.7. ATIVIDADES COMPLEMENTARES 10. INTEGRALIZAO CURRICULAR 11. ACOMPANHAMENTO E AVALIAO 11.1. 11.2. DO PROJETO PEDAGGICO DOS PROCESSOS DE ENSINO E DE APRENDIZAGEM

12. CONDIES ATUAIS DE OFERTA DO CURSO 13. PROJETO DE MELHORIA DAS CONDIES DE OFERTA DO CURSO

1. Apresentao
O presente documento visa apresentar e detalhar a proposta poltico-pedaggica do Curso de Engenharia de Software da Universidade Federal do Cear, localizado no Campus Avanado de Quixad, segundo as Diretrizes Curriculares em vigor e a Lei de Diretrizes e Bases da Educao Nacional (LDB) de 1996 (Lei 9.394/96). A proposta pedaggica do Curso de Engenharia de Software busca uma diretriz ideal, enfatizando o aspecto tecnolgico no mbito das tcnicas computacionais, sem descuidar, naturalmente, do seu fundamento cientfico. Foram tomadas como base para a construo do plano poltico pedaggico aqui apresentado as diretrizes propostas pelas duas principais agremiaes mundiais de profissionais da rea de computao, ACM (Association for Computing Machinery) e IEEE Computer Society, no documento Software Engineering Education Knowledge (SEEK) [SEEK 2004] para a rea de Engenharia de Software; e o projeto poltico pedaggico confeccionado para o primeiro curso de Bacharelado em Engenharia de Software do Brasil criado no Departamento de Informtica da Universidade Federal de Gois. importante mencionar que no Brasil existem at o presente momento apenas dois cursos de Bacharelado em Engenharia de Software. O projeto pedaggico do curso busca dosar, de forma racional, teoria e prtica nas propores adequadas, de modo a formar um profissional apto a atuar na indstria de software. O maior desafio da formao proposta apresentar fundamentos tericos de forma que o egresso seja capaz de manter-se continuamente atualizado diante do progresso incessante que uma caracterstica dessa rea de atuao. No obstante, temse como outro objetivo formar um profissional empreendedor, capaz de lidar com tcnicas avanadas de gerenciamento de projetos, qualidade de processos e produtos e inovao tecnolgica. Para tanto, prope-se um modelo pedaggico capaz de adaptar-se dinmica das demandas da sociedade, em que a graduao passa a constituir-se numa etapa de formao inicial em processo de educao permanente.

2. Justificativa
A exigncia de responsabilidade e competncia, atributos subjacentes proposta de um curso superior, pressuposto inelutvel, pois cabe Universidade responder s presses emergentes no que tange ao florescimento de diferentes ramos das cincias, da tecnologia e das humanidades; isto impe Instituio o dilogo com a sociedade envolvente, na busca de satisfazer demanda de formao de quadros profissionais e de outros recursos humanos necessrios ao seu desenvolvimento. Os avanos da Tecnologia da Informao e Comunicao (TIC) tm impulsionado uma demanda pelo desenvolvimento de sistemas de software mais complexos, confiveis e de qualidade. Neste cenrio, surge a necessidade de profissionais qualificados para esta atividade, aqui denominados Engenheiros de Software. Alm disso, a dificuldade de produzir software dentro dos prazos estipulados, com o oramento previsto e satisfazer os requisitos dos clientes representam outro grande desafio para rea.

A Engenharia de Software a aplicao de uma abordagem sistemtica, disciplinada e quantificvel para o desenvolvimento, operao e manuteno de software [IEEE 1990]. Suas principais bases esto na Cincia da Computao e na Matemtica [SEEK 2004] e se dedica aos problemas prticos da produo de software [Sommerville 2006]. O conjunto de conhecimento pertinente a Engenharia de Software documentado em [SWEBOK 2004]. A Engenharia de Software usa a matemtica, a cincia da computao e a sistemtica das engenharias para resolver problemas em domnios de aplicao. Segundo a Brasscom [BRASSCOM] e o governo brasileiro, para exportar US$5 bilhes em software at 2010, o Brasil ter que formar 100 mil novos desenvolvedores de software. A sociedade para a promoo do software brasileiro, Softex [Softex], e rgos de fomento pesquisa como o CNPq [CNPq] e a FINEP [FINEP] tm estimulado o desenvolvimento de software pelo carter estratgico para o pas por meio de editais especficos. Vale enfatizar que o Estado do Cear reconhecido como um dos maiores plos de desenvolvimento de software do pas e conta com mais de 200 empresas atuando na rea. O sucesso das leis de incentivo a empresas de base tecnolgica instaladas na Regio Nordeste demonstra a competncia de empresas locais no cenrio atual. No entanto, a formao de profissionais qualificados contribuir para a autosustentabilidade das empresas aps a retirada dos incentivos. O processo de expanso da UFC na direo do interior do estado vem responder antiga demanda da sociedade. O estado do Cear conta, h mais de cinqenta anos, com a contribuio da UFC na formao de pessoal altamente qualificado, na gerao e preservao de conhecimento, na inovao tecnolgica e na integrao com a sociedade atravs de atividades e projetos de extenso. Atualmente, a UFC conta com trs campi em Fortaleza e trs novos campi no interior do estado: Cariri, Sobral e Quixad. No entanto, apesar de seis campi, o estado do Cear um dos poucos estados brasileiros que possuem apenas uma Universidade Federal. Quixad considerada a capital do Serto Central do Estado. notvel o esforo do poder municipal no sentido de oferecer um ensino bsico de qualidade. O municpio conta com duas Faculdades, sendo uma particular (catlica) e outra pblica (estadual). A Faculdade Rainha do Serto (particular) oferece os cursos de graduao: Administrao, Biomedicina, Cincias Contbeis, Direito, Educao Fsica, Enfermagem, Farmcia, Filosofia, Fisioterapia, Odontologia, Psicologia, Sistemas de Informao, Engenharia Mecnica e Teologia. A Faculdade de Educao, Cincias e Letras do Serto Central (pblica) oferta os seguintes cursos de graduao: Cincias, Cincias Biolgicas, Fsica, Histria, Letras, Matemtica, Pedagogia e Qumica. A oferta de cursos na rea de Tecnologia da Informao e Comunicao, porm, apesar da crescente demanda, mnima. Desde 1975 a UFC vem oferecendo cursos de graduao na rea de Computao relacionados a Engenharia de Software e TIC, tendo iniciado com a formao de Tecnlogo em Processamento de Dados, posteriormente transformado em Bacharelado em Cincia da Computao (1985). O Departamento de Computao da UFC realizou esforos de formao de professores doutores e, em 1995 inaugurou a ps-graduao

stricto sensu com o Mestrado em Cincia da Computao. Dez anos mais tarde foi criado o Doutorado em Cincia da Computao. O Departamento conta hoje com aproximadamente 27 docentes, dos quais 21 so doutores na rea. Em 2007, foi criado o curso de Bacharelado em Sistemas de Informao da UFC, no campus de Quixad, contando hoje com 15 docentes, dos quais 3 so doutores e 12 mestres na rea, sendo 9 destes, doutorandos. Recentemente, atravs do programa de apoio graduao (REUNI), o curso de Sistemas de Informao foi contemplado com um Laboratrio de Mobilidade e Tecnologia da Informao (MobiTI), em sintonia com as necessidades de formao na rea de desenvolvimento de software para dispositivos mveis. O Curso de Bacharelado em Sistemas de Informao de Quixad apresenta-se como tutor do Curso de Bacharelado em Engenharia de Software, estando responsvel pela seleo do primeiro quadro de docentes, definio da infra-estrutura necessria ao funcionamento do curso, bem como sua adequao s diretrizes curriculares nacionais e em conformidade com a Lei de Diretrizes e Bases da Educao Nacional (LDB), alm de servir como referncia de qualidade. Sendo ofertados os dois cursos na mesma unidade acadmica (Campus de Quixad), apresenta-se ainda a potencial sinergia entre os mesmos, de forma que ambos se beneficiaro com oferta comum de disciplinas, uso sistmico de laboratrios, salas de aula, infra-estrutura administrativa e acervo bibliogrfico relacionado, disponibilizados aos corpos docente, discente, tcnico administrativo do campus e comunidade externa. O Campus da UFC em Quixad, atravs de trabalho desenvolvido pelos alunos do recm criado Programa de Educao Tutorial (PET/UFC) do curso de Sistemas de Informao, aplicou uma pesquisa desenvolvida junto ao mercado local, onde constatou a existncia da demanda por profissionais da rea de Engenharia de Software e TIC, por parte do mercado regional. A pesquisa teve como amostra 109 empresas. Os resultados da pesquisa revelam que 79% das empresas possuem e/ou fazem uso de recursos de TI, enquanto apenas 21% no possuem e/ou no fazem uso de recursos de TI. Dentre as que possuem e ou fazem uso, todas utilizam sistemas de softwares. Alm de melhoria nos servios prestados s empresas consumidoras de sistemas de softwares, existe o mercado potencial para o desenvolvimento de novos sistemas de software e projeto de extenso e manuteno dos sistemas existentes. As empresas que possuem acesso internet corresponderam a 71% do total da amostra, enquanto as que fazem e-business correspondem a 57%. Com a ampla demanda por utilizao de sistemas de software para a Web, o profissional de Engenharia de Software torna-se imprescindvel. Entre as atividades da rea de TIC mais desenvolvidas na regio, a compra de produtos foi uma das mais observadas, correspondendo a 40%. Em seguida, temos os servios de comunicao com 21%, atividades de venda com 15%, transaes bancrias com 12%, consulta de informaes com 9% e por ltimo as atividades de divulgao, correspondendo a 3% da amostra pesquisada. As empresas que pretendem adquirir novos Computadores representam 59% do total da amostra, seguida de novas aquisies de Software com 15% e Internet com 13%. Outras aquisies representam 13% do total da amostra.

Outro fator a se destacar com respeito demanda por futuros profissionais da rea de Engenharia de Software e informtica reside nas iniciativas do governo do estado e empresas cearenses em criar um plo local de tecnologia. Neste contexto, a UFC possui ainda a inteno de liderar o processo de criao de um plo regional de tecnologia da informao no Serto Central, projeto esse que ainda depende de articulao com prefeituras, governo do estado e entidades federais que possam apoiar a iniciativa, bem como instituies de fomento e apoio tais como BNB e BNDES. Ofertar um conjunto de cursos conciso e adequado a esse propsito indispensvel nessa tarefa e essencial articulao com os rgos interessados no desenvolvimento da regio do serto central e do estado. O Estado do Cear apresenta uma impressionante acelerao de sua urbanizao nas duas ltimas dcadas. O significativo crescimento dos setores produtores de benssalrio tem incentivado a expanso, ainda que tmida, dos setores de bens intermedirios e bens de capital no estado. A importncia da educao profissional na formao dos futuros trabalhadores pode ser avaliada, dentre outras, pelo peso da formao profissionalizante nos critrios de recrutamento e seleo das empresas do estado. O conhecimento tornou-se o principal recurso econmico e como tal marcado pela escassez. Na sociedade do conhecimento e principalmente na rea tecnolgica, esse ativo se torna rapidamente obsoleto, obrigando os profissionais a realizar reciclagens peridicas. Nos ltimos anos a competitividade incentivada principalmente pela globalizao exigiu uma reformulao das empresas e principalmente no perfil dos profissionais especializados em informtica. Em termos de economia, os resultados mostram que o Cear vem crescendo a taxas maiores que o Nordeste e Brasil. Todos esses fatores que envolvem uma demanda crescente no estado do Cear por profissionais da rea de Tecnologia da Informao e Comunicao, atrelados a flexibilidade curricular dos programas de ensino em todos os nveis e a demanda crescente de servios educacionais da sociedade cearense estimularam a criao de um curso que possibilitasse aos seus egressos o uso e produo adequada e eficiente de tecnologias em resposta s demandas sociais e institucionais. O curso Superior de Bacharelado em Engenharia de Software se prope a oferecer ao seu corpo discente uma formao universitria compatvel com as peculiares questes relacionadas s TICs e a indstria de software no Brasil. Desta forma, a UFC, conhecedora da funo social do profissional atuante na rea de TIC e no mercado de software, busca a formao de um profissional especializado, integrado realidade social onde est inserido. A proposta pedaggica para a formao profissional do Bacharel em Engenharia de Software, a partir do pressuposto descrito acima, tem, portanto, clareza conceitual e epistemolgica para a orientao do processo formador e necessidades do mercado de trabalho, e evidencia, em toda sua construo, a responsabilidade social a ser assumida pelo futuro profissional diante do desafio que o mercado impe. O Projeto Poltico Pedaggico do Curso de Bacharelado em Engenharia de Software encarado como um moderno instrumento de gesto, que busca extrapolar a simples confeco de um documento para se caracterizar como um processo dinmico de ao e reflexo, objetivando uma permanentemente adequao do ensino superior de

TIC s prticas e exigncias do mercado de trabalho, pautando-se na necessidade da formao tica e cidad desses profissionais.

3. Princpios Norteadores
O presente projeto destacado como um empenho poltico-cultural que visa uma formao em Engenharia de Software socialmente consciente e instigante, ultrapassando limites disciplinares e considerando o saber como uma construo social. Essa vertente analtica reafirma como elementos fundantes, para atuar como profissional da Computao, princpios da tica democrtica: dignidade humana, justia, respeito mtuo, participao, responsabilidade, dilogo e solidariedade, na sua atuao como profissional e como cidado. Referidos princpios possibilitam, portanto: O ser humano seja o princpio e fim de todo processo formativo no qual haja comprometimento com a tica na busca da verdade e do conhecimento; A prevalncia da integrao entre formao bsica, diferenciada, garantindo a esta uma flexibilidade do pensamento e liberdade de expresso; O compromisso com o fortalecimento da cultura acadmica, atravs da interao do ensino, pesquisa e extenso; A reflexo e a articulao entre teoria e prtica, tcnica e humanismo; A capacidade de adaptao evoluo tecnolgica;

Considerando os elementos em referncia, o Projeto Pedaggico do Curso de Engenharia de Software, busca a consolidao de uma identidade prpria, orientado por princpios que compreendem que a formao profissional em Engenharia de Software, envolve uma prtica especfica, que pressupe saberes e competncias coerentes. Para isso, preciso que o currculo seja flexvel e possibilite no s a formao de competncia tcnica como tambm o compromisso da cincia com as transformaes sociais.

4. Objetivos do Curso
O Curso de Bacharelado em Engenharia de Software da UFC em Quixad tem como objetivo formar profissionais aptos a introduzirem melhorias e a participarem efetivamente de empreendimentos de software voltado para os mercados local e global, oferecendo a base terica suficiente para que os seus egressos possam manter-se constantemente atualizados. Alm disso, objetivo deste curso preparar profissionais para construir, usando as tcnicas da Engenharia de Software, sistemas de software corretos, completos, seguros, amigveis, usveis, com qualidade, fceis de manter e de baixo custo.

5. Competncias e Habilidades a serem Desenvolvidas


O desempenho das atividades inerentes s reas de atuao em Engenharia de Software, aqui agrupadas em trs pilares de formao, exige uma ao profissional fundamentada no conhecimento terico-prtico aprofundado da aplicao das solues tecnolgicas oferecidas pela cincia da computao a problemas existentes no mercado de software. Para a formao do perfil do egresso pretendida pelo Curso de Bacharelado em Engenharia de Software, faz-se necessrio o desenvolvimento de competncias que, aliadas aos conhecimentos tcnico-cientficos adquiridos ao longo do Curso, permitam o desenvolvimento das habilidades necessrias atuao do Bacharel em Engenharia de Software. O presente projeto prev a ao integradora em disciplinas de outras reas, visando fortalecer a interdisciplinaridade e a multidisciplinaridade para a formao do futuro profissional. Inicialmente esta exigncia implica em uma capacitao profissional que integre formao humanstica; formao tcnica; e interdisciplinaridade. Alm disso, a capacitao deve incluir o desenvolvimento de habilidades de relacionamento interpessoal, comunicao e trabalho em equipe, na medida em que so caractersticas cada vez mais importantes na atuao profissional. Assim, o profissional de Engenharia de Software deve dispor de uma slida formao conceitual (conhecimento explcito) aliada a uma capacidade de aplicao destes conhecimentos cientficos em sua rea de atuao (conhecimento tcito) de forma a agregar valor econmico organizao e valor social ao indivduo. Formao Humanstica: Esse elemento imprescindvel para a formao da postura profissional do egresso e abordado em uma disciplina prpria, dedicada especificamente ao assunto, e estimulado nas demais. Dessa forma, esperado que o profissional de Engenharia de Software tenha as seguintes competncias: a) Ser criativo e inovador na proposio de solues para os problemas e oportunidades identificados nas organizaes; b) Expressar idias de forma clara, empregando tcnicas de comunicao apropriadas para cada situao; c) Participar e conduzir processos de negociao para o alcance de objetivos; d) Participar e criar grupos com intuito de alcanar objetivos; e) Ter uma viso contextualizada da rea de Engenharia de Software em termos polticos, sociais e econmicos; f) Identificar oportunidades de negcio, criar e gerenciar empreendimentos para a concretizao dessas oportunidades; g) Atuar social e profissionalmente de forma tica. Formao Tcnica:

Tem como base as recomendaes do SWEBOK [SWEBOK] e do SEEK [SEEK 2004]. Adicionalmente, no que tange o gerenciamento de projetos, so observadas as recomendaes contidas no PMBOK [PMBOK]. Dessa forma, esperado que o profissional de Engenharia de Software tenha as seguintes competncias: a) Compreender a dinmica empresarial decorrente de mercados mais exigentes e conscientes de seus direitos e das novas necessidades sociais, ambientais e econmicas; b) Participar do desenvolvimento e implantao de novos modelos de competitividade e produtividade nas organizaes no que tange produo de sistemas de software; c) Diagnosticar e mapear, com base cientfica, problemas e pontos de melhoria nas organizaes, propondo alternativas de solues baseadas nos fundamentos da Engenharia de Software; d) Elicitar, especificar, rastrear e gerenciar requisitos de software, bem como projetar, especificar, implementar, implantar, verificar, validar e manter (evoluir ou corrigir) sistemas de software de maneira apropriada; e) Participar da implantao e monitoramento dos processos organizacionais de empresas de software, identificando as possveis mudanas que podem surgir em funo dos objetivos das organizaes, das exigncias do mercado, da legislao vigente e dos avanos nos modelos de qualidade de processo e produto no mbito da Engenharia de Software; f) Capaz de criar, implantar, refinar e avaliar processos organizacionais, relacionados construo de software, que viso garantir maior produtividade, qualidade, alinhamento da produo aos objetivos das organizaes e conformidade com a legislao vigente nas esferas local, regional, nacional e mundial; g) Planejar e gerenciar projetos de software observando as necessidades dos clientes, a trade tempo, escopo e custo, o modelo de processo adotado na organizao e a legislao vigente. Interdisciplinaridade: Construir sistemas de software implica, necessariamente, no emprego de dois domnios: 1) o de Engenharia de Software ligado computao e; 2) o domnio onde est inserido o problema que motiva a construo do software. Dessa forma, esperado que o profissional de Engenharia de Software tenha as seguintes competncias: a) Deve ser capaz de trabalhar em equipe multidisciplinar; b) Deve possuir uma viso holstica do mundo, da sociedade e de suas dinmicas; c) Ser capaz de investigar e entender problemas em diversificados domnios de aplicao; d) Capacidade de auto-aprendizagem no que tange ao entendimento de outros domnios do conhecimento. Alm disso, na formao profissional do aluno, busca-se orient-lo no sentido de adaptar-se s mudanas e novidades da rea de TIC. Para tanto, torna-se indispensvel o desenvolvimento da inteligncia emocional, tendo auto-conhecimento, administrao das emoes, auto-motivao, sociabilidade e liderana como algumas caractersticas a

10

serem desenvolvidas durante a formao do aluno atravs do incentivo de atividades e trabalhos interessantes e em equipe.

6. Perfil do Profissional a ser Formado (Perfil do Egresso)


As organizaes contemporneas tm na tecnologia da informao um elemento estratgico, na medida em que as solues tecnolgicas automatizam processos organizacionais e so fonte de vantagens competitivas atravs da anlise de cenrios, apoio ao processo decisrio e definio e implementao de novas estratgias organizacionais. Assim, cresce a preocupao com a coleta, armazenamento, processamento e transmisso da informao na medida em que a disponibilidade da informao correta, no momento apropriado, requisito fundamental para a melhoria contnua da qualidade e competitividade organizacionais, o que implica em considerar a crescente relevncia da Engenharia de Software no desenvolvimento de sistemas de software com eficincia, qualidade e a baixo custo. O egresso do curso de Engenharia de Software estar atuar na indstria de desenvolvimento de software. A bacharela ou bacharel em Engenharia de Software deve ser capaz de efetivamente contribuir com equipes na produo de modelos abstratos correspondentes a software e realiz-los por meio de cdigo funcionando em contexto real. Da perspectiva pessoal o egresso deve ser capaz de: Trabalhar de forma harmoniosa e efetivamente auxiliar na elaborao de produtos atribudos a equipes; Valorizar e iniciar longo processo de formao de sua prpria reputao na rea; Desenvolver atitudes e posturas ativas.

Da perspectiva cognitiva o egresso deve ser capaz de: Elicitar, analisar, modelar, especificar (documentar), validar e gerenciar requisitos de software; Projetar (design) software (arquitetura e projeto detalhado). Inclui modelagem, anlise e avaliao da qualidade, princpios, estilos, mtodos, modelos arquiteturais e padres de projeto; Construir (programar) software com qualidade e em equipe. Inclui mtodos, tcnicas, tecnologias e ferramentas; Realizar atividades de manuteno de software; Planejar e executar atividades pertinentes a qualidade de software. Inclui verificao, validao, revises, inspees e testes; Gerenciar pequenos projetos de desenvolvimento de software. Inclui estimativas de custo de software;

11

Personalizar processos de software em conformidade com modelos de melhoria de processos; Transmitir idias com clareza (seja na forma verbal ou escrita).

Da perspectiva tecnologia e pragmtica o egresso deve ser capaz de: Exercitar o conhecimento (veja perspectiva cognitiva), empregando tecnologias e ferramentas para desenvolvimento de software complexo por meio da participao em equipes de projeto; Selecionar tecnologias apropriadas para um dado contexto.

7. reas de Atuao
O egresso ter condies de assumir um papel de agente transformador do mercado, sendo capaz de provocar mudanas atravs da incorporao de novas tecnologias da informao na soluo dos problemas e propiciando novos tipos de atividades, agregando: a) Domnio de novas tecnologias da informao e gesto da rea de Engenharia de Software, visando melhores condies de trabalho e de vida; b) Conhecimento e emprego de modelos associados ao uso das novas tecnologias da informao e ferramentas que representem o estado da arte na rea; c) Conhecimento e emprego de modelos associados ao diagnstico, planejamento, implementao e avaliao de projetos de sistemas de software aplicados nas organizaes; d) Uma viso humanstica consistente e crtica do impacto de sua atuao profissional na sociedade e nas organizaes. Desta forma, no exclusivamente, o egresso do curso poder: Analista de sistemas de software Desenvolvedor de sistemas de software Gerente/Analista de configurao Projetista de sistemas de software Arquiteto de software Gerente/Analista de qualidade de software Gerente/Analista de teste de software Gerente de projetos de software Consultor/Auditor de sistemas software Professor e/ou Pesquisador

12

8. Metodologias de Ensino e Aprendizagem


O curso de Engenharia de Software adotar alguns procedimentos e projetos acadmicos visando dar suporte s suas estratgias pedaggicas, cujo princpio explicita uma concepo educativa agenciadora de uma formao ampla e em acordo com as perspectivas atuais diante dos seus objetivos propostos. Nesse sentido, destacam-se as seguintes iniciativas para dar suporte s estratgias pedaggicas do curso: I) Uso Intensivo de Laboratrios: Um curso de Engenharia de Software se caracteriza por uma intensa interao entre hardware e software, sendo, portanto, importante o incentivo ao desenvolvimento de atividades nos laboratrios especficos do curso, notadamente de desenvolvimento de desenvolvimento de software. Note-se que privilegiamos uma formao que transcenda a sala de aula e que privilegie a interao entre o prtico e o terico, reforando uma vez mais o papel dos laboratrios e biblioteca como elementos centrais de qualidade do curso. II) Atividades de Nivelamento : O Curso demanda conhecimentos prvios de matemtica do ensino mdio. Alguns alunos nos primeiros semestres do curso necessitaro de reforo escolar em matrias ligadas matemtica. Pretende-se aqui fornecer atividades extracurriculares para o ensino da matemtica do ensino mdio. III) Atividades Conjuntas da Graduao e Ps-graduao : O Departamento de Computao e o Departamento de Teleinformtica da UFC em Fortaleza podero contribuir fazendo com que suas atividades de ps-graduao, stricto e lato sensu, interajam com o curso de Engenharia de Software em Quixad. Oferta de seminrios de pesquisa abertos participao de professores e alunos de Quixad; Criao de projetos e grupos de pesquisa envolvendo as duas unidades; Oferta de palestras em Fortaleza e em Quixad; Oportunidade de qualificao acadmica para professores e alunos em seus cursos de ps-graduao.

IV) Mobilidade Acadmica O MEC introduziu o programa de Mobilidade Acadmica que permite o intercmbio entre alunos de IFES. Este programa se mostra amplamente adequado para que alunos dos cursos de Quixad e Fortaleza possam por perodos determinados conhecer a realidade da formao de outros cursos, ampliando suas possibilidades de

13

formao. V) Projeto de Graduao Integrada (PROGRADI) Dentro do princpio de flexibilizao e interdisciplinaridade contida nas Diretrizes Curriculares do MEC dos cursos de graduao, o CEPE, mediante a Resoluo no 09 (31/10/03), instituiu o PROGRADI, com vistas a integrar diferentes reas de saberes em torno de temticas comuns de trabalho, com o objetivo de fomentar a constituio de grupos de pesquisas entre professores de Departamentos distintos e grupos de estudos entre estudantes de diferentes cursos de graduao, cujas aes podem estar articuladas s trs dimenses do universo acadmico, a saber, o ensino, a pesquisa e a extenso. O PROGRADI se constitui como um conjunto de estudos e atividades desenvolvidas em forma de seminrios e de pesquisa orientada pelo Grupo de Pesquisa Integrada, correspondente a um plano de ensino e programa desenvolvidos em um perodo letivo, apresentando-se como modalidade eletiva da atividade acadmica para a integralizao curricular dos diversos cursos de Graduao da UFC. Assim o PROGRADI, congregando tanto cursos da nova unidade de Quixad como tambm os cursos de Fortaleza, constitui-se como mais uma oportunidade de interao interdisciplinar.

9. Organizao Curricular
As Diretrizes Curriculares Nacionais serviram como parmetros na preparao e organizao do currculo, que considera o desenvolvimento de competncias tecnolgicas, a capacidade de aprender a aprender, acompanhar as mudanas no mundo contemporneo, contemplando a flexibilidade, a interdisciplinaridade e a contextualizao. O currculo do curso oferece flexibilidade ao utilizar o critrio de pr-requisitos mnimos para disciplinas, o que facilita para o aluno uma melhor oferta de disciplinas no curso, uma disciplina de ementa aberta (Tpicos Especiais) e oferta de atividades complementares. As parcerias com empresas da rea de Informtica do estado, permitiro que a coordenao do curso e os professores tenham uma avaliao permanente da demanda local, e com isso uma informao que possibilita uma atualizao constante do curso e seu currculo. A proposta de formatao do curso foi elaborada a partir das necessidades regionais para formar profissionais aptos a atuarem nas diversas reas relacionadas a informtica no estado do Cear, advindas da expanso do mercado de TIC. Atravs de parcerias mantidas com empresas e instituies que trabalham o desenvolvimento da informtica no estado, como o Instituto do Software do Estado do Cear, o projeto do curso procura priorizar o atendimento s demandas dos cidados, da sociedade e do mercado de trabalho.

14

9.1.Estrutura do Currculo
Toda a estrutura curricular do curso de Bacharelado em Engenharia de Software foi elaborada de forma a contemplar os objetivos do curso e atingir o perfil profissional proposto. A organizao do currculo permite, a compreenso, o entendimento e o conhecimento para aplicar e desenvolver modelos, utilizando as novas tecnologias e metodologias, assegurando as inter-relaes com outras reas do conhecimento, contribuindo assim, com o processo de compreenso e transformao da realidade, desenvolvendo no discente no s competncias, como tambm formando um cidado consciente do seu papel na sociedade e alicerado nos princpios da tica e da cidadania. A matriz curricular compreender uma formao de 3.072 horas (equivalendo a 186 crditos1) com tempo ideal para concluso do curso estimado em 4 (quatro) anos ou 8 (oito) semestres letivos. Sendo assim, o estudante do Curso de Engenharia de Software, modalidade Bacharelado, dever observar o tempo mximo para a sua concluso, estipulado em 07 (sete) anos ou 14 (catorze) perodos letivos. Os alunos devem cursar uma carga horria mnima por semestre de 4 crditos e, no mximo, 32 crditos. As disciplinas do Curso de Engenharia de Software sero de trs tipos: obrigatrias, optativas (da integralizao curricular do curso) e optativas-livres (de fora da integralizao curricular do curso) e tambm atividades extraclasses: estgio supervisionado, trabalho de concluso de curso e atividades complementares, como extenso, monitoria, iniciao cientfica, participao e organizao de seminrios e palestras etc. Eventualmente, respeitado o limite, algumas disciplinas podero ser ministradas a distncia. Devido ao rpido surgimento de novas tecnologias de informao, faz-se necessrio a incluso de disciplinas optativas que abordem tais temas. Para tanto, as disciplinas chamadas tpicos especiais que constam no currculo sero ofertadas de acordo com a demanda por estas tecnologias, no possuindo assim ementa definida a priori. A carga horria do curso tem as seguintes caractersticas: Carga Horria Carga Horria Obrigatria Carga Horria Optativa Carga Horria Optativa-Livre Estgio Profissional Trabalho Final de Curso Atividades Complementares Total N de Horas 1.728 320 256 320 160 288 3.072 N de Crditos 108 20 16 20 10 18 192

9.2.Unidades Curriculares
As tabelas a seguir apresentam as matrias a serem observadas na construo de projetos pedaggicos de cursos de Bacharelado em Engenharia de Software. Cada uma
1

Na UFC um crdito equivalente a 16 horas-aula.

15

das matrias pode ser operacionalizada atravs de uma ou mais disciplinas em um currculo especfico a ser implementado. I. Formao Bsica A rea de formao bsica composta pela Formao Bsica em Cincia da Computao e Formao Bsica em Matemtica. A Formao Bsica em Engenharia de Software foi adicionada em virtude do objetivo do curso.

I.1 Formao Bsica em Cincia da Computao


Matria Programao Disciplina Fundamentos de Programao Programao Orientada a Objetos Estruturas de Dados Linguagens de Programao Linguagens Formais Projeto e Anlise de Algoritmos Teoria da Computao Arquitetura de Computadores

Teoria da Computao e Algoritmos Arquitetura de Computadores

I.2 Formao Bsica em Matemtica


Matria Matemtica Disciplina Matemtica Bsica Matemtica Discreta Lgica para Computao Probabilidade e Estatstica

I.3 Formao Bsica em Engenharia de Software


Matria Introduo a Engenharia de Software Disciplina Introduo Cincia da Computao e Engenharia de Software Introduo a Processos e Requisitos de Software

II. Formao Tecnolgica A rea de formao tecnolgica composta por um conjunto de matrias relacionadas Engenharia de Software e as Tecnologias da Informao e Comunicao utilizadas no desenvolvimento de sistemas de software.
Matria Engenharia de Software Disciplina Modelagem e Anlise de Software Projeto Detalhado de Software Interface Humano-Computador Gerncia de Projetos de Software Processo de Software Requisitos de Software Qualidade de Software Reuso de Software Arquitetura de Software

16

Compiladores Banco de Dados Inteligncia Artificial Engenharia de Software Aplicada

Sistemas operacionais, Redes de computadores, Sistemas Distribudos e Segurana

Verificao e Validao Compiladores Fundamentos de Banco de Dados Inteligncia Artificial Integrao de Aplicaes Especificao Formal de Software Gerncia de Configurao Manuteno de Software Experimentao em Engenharia de Software Mtodos e Ferramentas de Engenharia de Software Desenvolvimento de Software Concorrente Desenvolvimento de Software para a Web Desenvolvimento de Software para Dispositivos Mveis Desenvolvimento de Software para Persistncia Leitura de Software Trabalho Cooperativo Baseado em Computador Estimativa de Custo em Projetos de Software Sistemas Operacionais Redes e Sistemas Distribudos Segurana

III. Formao Complementar e Humanstica A rea de formao complementar composta por um conjunto de matrias que visa preparao do egresso para interao com profissionais de outras reas. Para o Bacharelado em Sistemas Engenharia de Software destacam-se as matrias que visam dar ao egresso o embasamento sobre o empreendedorismo. A rea de formao humanstica composta por um conjunto de matrias que visa subsidiar a discusso e compreenso da dimenso humana em relao a Engenharia de Software. A disciplinas optativas-livres podem auxiliar na formao complementar e humanstica.
Matria Administrao Direito e Legislao Lngua Inglesa Disciplina Empreendedorismo tica, Normas e Postura Profissional Ingls Instrumental I Ingls Instrumental II

IV. Formao Suplementar A Formao Suplementar composta por matrias que no se enquadram perfeitamente nas reas de formao originalmente propostas nas Diretrizes Curriculares.
Matria Trabalho de Concluso Estgio Profissional Disciplina Trabalho de Concluso de Curso I e II Estgio Supervisionado I e II

As unidades curriculares devero formar o futuro Bacharel em Engenharia de Software para exercer seu papel de cidado levando em conta o desempenho de atividades nas reas de Engenharia de Software, considerando ainda sua responsabilidade social.

17

Em suma, de acordo com a descrio anterior, as disciplinas foram agrupadas nas seguintes Unidades Curriculares: de Matemtica de Cincia da Computao de Engenharia de Software de Engenharia de Software Aplicada de Tecnologia da Informao de Formao Complementar e Humanstica de Formao Suplementar De forma mais especfica, possvel traar algumas recomendaes em relao aos docentes, de acordo com a rea em que atuaro no currculo: a) Recomenda-se que os professores que atuam na Formao Bsica em Matemtica, Formao Humanstica e Formao Complementar tenham formao nas reas especficas das disciplinas que lecionam. Alm disso, desejvel que tenham conhecimentos e experincia profissional que os habilitem a promover a articulao entre os contedos desenvolvidos em suas disciplinas e a aplicao em Engenharia de Software; b) Recomenda-se que os professores da Formao Bsica em Cincia da Computao tenham formao na rea de Computao ou Informtica. desejvel que estes docentes tenham conhecimentos e experincia profissional que os habilitem a promover a articulao entre os contedos desenvolvidos em suas disciplinas e a aplicao em Engenharia de Software; c) Os professores da Formao Tecnologia da Informao podem ter formao variada de acordo com a rea de aplicao envolvida, sendo geralmente provenientes de Computao e Informtica. Alm disso, desejvel que disponham de experincia profissional relacionada aplicao da tecnologia especfica em Engenharia de Software; d) Os professores das reas de Formao Bsica em Introduo a Engenharia de Software, Formao Tecnolgica em Engenharia de Software e Engenharia de Software Aplicada podem ser formadas nas reas de Computao ou Informtica, sendo desejvel que tenham cursado a graduao ou ps-graduao em uma destas reas. Alm disso, desejvel que estes docentes tenham experincia profissional e/ou de pesquisa na rea da matria lecionada.

9.3.Disciplinas por departamento


Todas as disciplinas inerentes ao Curso de Bacharelado em Engenharia de Software sero ofertadas no Campus de Quixad, em conjunto com os demais cursos ofertados na unidade e levando em conta a demanda de cada semestre. O corpo docente relativo a este curso ser constitudo por professores qualificados nas reas de conhecimento adequadas necessidade de oferta de disciplinas do curso, de acordo com as sugestes reforadas no item 9.2.

18

9.4.Ementrio das disciplinas


Disciplinas Obrigatrias
Introduo Computao e a Engenharia de Software Fundamentos de computao, arquiteturas de computadores e sistemas operacionais. Ambientes de processamento automatizado de informaes. Evoluo das profisses e caractersticas do profissional de sistemas de informao. Conceitos bsicos: dado, informao e conhecimento. Operaes bsicas com nmeros binrios. Mudana de base. Computador e seus elementos bsicos. Introduo a Sistemas Distribudos. Conceitos bsicos de Engenharia de Software, programas e documentao. SWEBOK e as reas de conhecimento, Etapas de desenvolvimento de um Software.

Fundamentos de Programao Algoritmos, Conceitos Fundamentais de Programao, Expresses, Controles de Fluxo, Funes e Procedimentos, Ponteiros, Vetores e Matrizes, Cadeias de Caracteres, Alocao Dinmica, Tipos Estruturados e Arquivos.

tica, Normas e Postura Profissional Noes de tica. Cdigo de tica para engenheiros de software. Viso geral de normas e padres internacionais pertinentes engenharia de software, alm de leis e resolues locais. Resoluo de conflitos. Como se preparar para reunies.

Matemtica Bsica Teoria dos Conjuntos. Noes de Lgica e Tcnicas de Demonstrao. Relaes. Funes. Nmeros reais. Funes de uma varivel real a valores reais. Seqncias e sries. Noes de limite.

Introduo Processos e Requisitos de Software

Conceitos bsicos de Processo de Software. Fases de um Processo de Software e gerao de artefatos a cada fase. Tipos de Processo de Software: tradicionais e geis. Definio e introduo elicitao e anlise de requisitos de software.

Programao Orienta a Objetos Paradigma orientado a objetos (abstrao, encapsulamento, classes, mtodos, objetos, herana, polimorfismo, delegao e outros). Modelagem orientada a objetos usando UML. Noes de princpios de projeto orientado a objetos. Implementao de modelos. Mtodo de desenvolvimento de software orientado a objetos. Viso detalhada de mtodo gil de desenvolvimento de software. Desenvolvimento de pequenas aplicaes modeladas e implementadas de forma orientada a objetos seguindo um mtodo gil e o emprego de orientao a objetos.

Arquitetura de Computadores Sistemas numricos. Aritmtica binria: ponto fixo e ponto flutuante. Organizao de computadores: memrias, unidade central de processamento, unidades de entrada e unidades de sada. Linguagens de montagem. Modos de endereamento, conjunto de instrues. Mecanismos de interrupo e de exceo. Barramento, comunicaes, interfaces e perifricos. Organizao de memria. Memria auxiliar. Arquiteturas RISC e CISC. Pipeline. Paralelismo de baixa granularidade. Processadores superescalares e superpipeline. Multiprocessadores. Multicomputadores. Arquiteturas paralelas e no

19

convencionais.

Matemtica Discreta Conjuntos. lgebra dos conjuntos. Relaes. Funes. Estruturas algbricas. Reticulados. lgebra Booleana. Teoria dos Grafos.

Probabilidade e Estatstica Estatstica descritiva. Espao amostral e eventos. Probabilidade e tcnicas de contagem. Probabilidade condicional e independncia. Varivel aleatria, distribuio de probabilidade e momentos. Principais distribuies - binomial, poisson, geomtrica, normal, exponencial, gama, erlang, weibull. Conceito e objetivos da estatstica. Estatstica descritiva. Noes de amostragem. Distribuies amostrais: discreta e contnua. Inferncia estatstica: teoria da estimao e testes de hipteses. Regresso linear simples. Correlao. Anlise de varincia.

Modelagem e Analise de Software Conceitos fundamentais de Projeto de Software. Anlise de Requisitos e principais padres de Projeto de Software e suas aplicaes reais. Consideraes em um projeto: compatibilidade, extensibilidade, modularidade, reusabilidade, segurana, etc. Linguagens para Modelagem de Software.

Linguagens de Programao Tipos (dinmicos e estticos). Polimorfismo. Viso geral de paradigmas de programao. Paradigmas de programao (orientado a objetos, orientado a eventos, orientado a aspectos e funcional). Interpretadores. Compiladores. Mquinas virtuais. Bsico de linguagens formais (sintaxe, semntica, gramticas, BNF, diagrama de transio de estados). Anlise lxica (scanners). Anlise sinttica (gramticas regulares, livres de contexto, LL parsing). Expresses regulares.

Estruturas de Dados Tipos Abstratos de Dados, Listas Encadeadas, Pilhas, Filas. rvores, Estruturas Genricas, Ordenao, Busca e Tabelas de Disperso.

Sistemas Operacionais O histrico, o conceito e os tipos de sistemas operacionais. A estrutura de sistemas operacionais. Gerenciamento de memria. Memria virtual. Conceito de processo. Gerncia de processador: escalonamento de processos, monoprocessamento e multiprocessamento. Concorrncia e sincronizao de processos. Alocao de recursos e deadlocks. Gerenciamento de arquivos. Gerenciamento de dispositivos de entrada/sada Empreendedorismo Conceito de empreendedorismo. A formao da personalidade. O processo comportamental. Fatores de sucesso, o perfil do empreendedor. Desenvolvimento de habilidades empreendedoras. Lies e prticas internacionais. Empreendedorismo no Brasil. Importncia das MPEs na economia. Globalizao dos mercados, dos negcios e das oportunidades. Pesquisas Tecnolgicas. Propriedade Intelectual. Transferncia de Tecnologia. Papel da inovao. Ambientes de pr-incubao e incubao de idias. Incubadoras de empresas. Parques Tecnolgicos. Capital de Risco. Recursos de Fomento. Fontes de Financiamento. Fundos Setoriais. Programas governamentais. Plano de Negcio. Ferramentas de Plano de Negcios. Projetos.

Redes e Sistemas Distribudos

20

Noes de redes de computadores. Introduzir os conceitos fundamentais de sistemas distribudos, a caracterizao de sistemas de computao distribuda, aplicaes distribudas (caractersticas e aspectos de projeto), objetivos bsicos de sistemas distribudos (transparncia, abertura, escalabilidade e outros). Princpios e aplicaes dos principais modelos de sistemas distribudos: sistemas cliente/ servidor e sistemas multi-camadas; sistemas peer-to-peer. Objetos distribudos: interface x implementao; objetos remotos; chamadas de mtodos remotos (RMI). Princpios e uso de servios de sistemas distribudos: servios de nomes; compartilhamento de documentos / recursos distribudos (ex.: WWW e sistemas de trabalho cooperativo). Princpio e implementao de SOA Arquiteturas Orientadas a Servio; Web services. Prtica de desenvolvimento de sistemas distribudos.

Projeto Detalhado do Software Definio de projeto. Questes fundamentais (persistncia dos dados, excees e outras). Contexto de projeto em vrios modelos de desenvolvimento de software (ciclos de vida). Princpios de projeto (encapsulamento de informaes, coeso e acoplamento). Interao entre projeto e requisitos. Atributos qualitativos em um projeto (confiabilidade, usabilidade, manutenibilidade, testabilidade, desempenho, segurana, tolerncia a falhas e outros). Compromissos (custo-benefcio). Relao entre arquitetura de software e projeto de software. Projeto orientado a objetos. Projeto funcional. Noo de projeto baseado em estrutura de dados e projeto orientado a aspectos. Projeto orientado por responsabilidade. Projeto por contratos. Mtodos de projeto de software. Padres de projeto. Reutilizao. Projeto de componentes. Projeto de interfaces entre componentes e sistemas. Notaes de projeto. Ferramentas de suporte a projeto (anlise esttica, avaliao dinmica e outras). Medidas de atributos de projeto (acoplamento, coeso e outras). Mtricas de projeto (principais mtricas, interpretao).

Interface Humano Computador Princpios de projeto de interfaces homem-computador. Modos de uso e navegao. Projeto visual (cores, cones, fontes e outros). Tempo de resposta e retro-alimentao. Elementos de interao (menus, formulrios, manipulao direta e outros). Localizao e internacionalizao. Mtodos de projeto de interao. Modelos conceituais e metforas. Voz, linguagem natural, sons, pginas web. Dispositivos de interao. Heursticas de avaliao de interfaces. Abordagens para testes realizados com apoio de usurios. Tcnicas de testes para pginas web. Viso geral de ferramentas de desenvolvimento de interfaces homem-computador.

Fundamentos de Banco de Dados Conceitos bsicos. Componentes de sistemas de bancos de dados (database systems). Modelagem conceitual (ER e EER). Modelo relacional. Prtica de modelagem de dados. Noes de lgebra e clculo relacional. Mapeamento de esquema conceitual para esquema relacional. Linguagem SQL (extensiva apresentao e prtica). Restries de integridade. Dependncias funcionais e formas normais. Transaes. Viso geral de minerao de dados e Data Warehousing.

Lgica para Computao Lgica sentencial e de Primeira ordem. Sistemas dedutivos naturais e axiomticos. Completeza, consistncia e coerncia. Formalizao de problemas. Lgicas Temporais para a Validao de Sistemas.

Processo de Software Conceitos e terminologia. Infraestrutura de processos (pessoas, ferramentas, treinamentos e outros). Modelagem e especificao de processos de software. Medio e anlise de processos de software. Melhoria de processos de software (individual e equipe). Anlise e controle de qualidade (preveno de defeitos, reviso de processos, mtricas de qualidade, anlise de causa e outros). Nveis de definio de processos. Modelos de ciclo de vida (gil, processos pesados, cascata, espiral, modelo V e outros). Modelos de processos e padres (IEEE, ISO e outros). Modelo, definio, medida, anlise e melhoria tanto de processo de software individual quanto de equipe. Personalizao de processo.

21

Requisitos para processos de software (ISO/IEEE 12207). Viso geral do CMMI e ITIL. Detalhada apresentao do MSP.BR (guias). Implementao do MPS.BR.

Requisitos de Software Princpios de modelagem como decomposio e abstrao. Pr e ps condies. Invariantes. Viso geral de modelos matemticos e linguagens de especificao como Z, VDM, NFR e GORE. Interpretao de modelos (sintaxe e semntica). Modelagem de informaes (modelo entidaderelacionamento e diagrama de classes). Modelagem de comportamento (diagramas de estados, diagramas de casos de uso, diagramas de interao). Modelagem de estrutura (arquitetura). Modelagem de domnio. Modelagem funcional. Modelagem de processos de negcios. Padres de anlise. Fundamentos como completitude, consistncia, robustez, anlise esttica, simulao, verificao de modelos, segurana, safety, usabilidade, desempenho, anlise de causa/efeito, priorizao, anlise de impacto, rastreabilidade. Definio de requisitos de produto, projeto, restries, fronteiras de um sistema. Processo de requisitos. Nveis de requisitos (necessidades, objetivos, requisitos dos usurios, requisitos de sistema, requisitos de software. Caractersticas de requisitos (testveis, verificveis e outras). Gerncia de requisitos. Interao entre requisitos e arquitetura. Fontes e tcnicas de elicitao. Documentao de requisitos (normas, tipos, audincia, estrutura, qualidade). Especificao de requisitos. Revises e inspees. Construo de prottipos para validar requisitos. Relao com testes de aceitao.

Projeto e Anlise de Algoritmos Desenvolvimento de algoritmos. Tcnicas de projeto de algoritmos eficientes. Anlise de Algoritmos (Tempo de Processamento e Operaes Elementares), Tcnicas de prova de cotas inferiores. Exemplos de anlise de algoritmos iterativos e recursivos. Algoritmos e estruturas de dados para problemas em grafos, Programao dinmica. Algoritmos probabilsticos. Teoria da Complexidade, Problemas de Deciso, Transformaes Polinomiais, Classes de problemas: P, NP, Co-NP, P-SPACE.

Manuteno de Software Conceitos e terminologia. Categorias (tipos) de manuteno. Questes tcnicas e gerenciais de manuteno. Estimativa de custo de manuteno. Mtricas/medidas para manuteno. Processos e atividades de manuteno. Compreenso de programas. Reengenharia. Engenharia reversa. Norma IEEE Std 14764-2006. Refatorao. Transformao de programas.

Gerncia de Projetos Conceitos, terminologia e contexto de gerncia de projetos. Ciclo de vida de produto e projeto. Interessados (stakeholders). Organizao de empresas (funcionais, matriciais e baseadas em projetos). Estratgias para seleo de projetos. Processos de gerncia de projetos. Gerncia de escopo. Gerncia de tempo (definio de atividades, seqenciamento de atividades, estimativa de recursos, estimativa de durao, desenvolvimento de cronograma e controle de cronograma). Gerncia de custos (estimativas, oramento e controle). Gerncia de qualidade. Gerncia de recursos humanos. Gerncia de comunicao. Gerncia de riscos. Gerncia de aquisies. Gerncia de integrao (desenvolver carta de projeto, desenvolver escopo preliminar, desenvolver plano de gerncia de projeto, dirigir e gerenciar a execuo de projetos, monitorar e controlar atividades de projeto, controle de mudanas e fechamento do projeto). Estabelecer relaes com o MPS.BR. Gerncia de aquisies deve ser observada da perspectiva do Guia de Aquisies de Software e Servios Correlatos (MPS.BR).

Qualidade de Software Definies e terminologia de qualidade de software. Custos e impactos de baixa qualidade. Custo de um modelo de qualidade. Terminologia para caractersticas de qualidade de software (ISO 9126-1). Papel de pessoas, processos, mtodos, ferramentas e tecnologias em qualidade. Padres de qualidade (ISO 9001, ISO 9003-04, IEEE Std 1028-2008, IEEE Std 1465-2004, IEEE Std 12207-2008, ITIL). Revises, auditoria e inspees. Modelos e mtricas de qualidade de software. Aspectos relacionados a

22

qualidade de modelos de processos de software. Viso geral do CMMI. MPS.BR. Planejamento de qualidade. Garantia da qualidade. Anlise de causa e preveno de defeitos. Avaliao de atributos de qualidade. Mtricas e medidas de qualidade de software. Desenvolver planos de qualidade de software em conformidade com o padro IEEE Std 730-2002.

Verificao e Validao Objetivos e restries de V&V (Verificao e Validao). Planejamento de V&V. Documentao de estratgias de V&V, testes e outros artefatos. Medidas e Mtricas. Anlise esttica de cdigo. Atividades de V&V ao longo do ciclo de vida de um produto. Reviso de software. Testes de unidade. Anlise de cobertura. Tcnicas de teste funcional (caixa preta). Testes de integrao. Desenvolvimento de casos de teste baseados em casos de uso e estrias de usurios. Testes de sistema. Testes de aceitao. Testes de atributos de qualidade. Testes de regresso. Ferramentas de teste (combinao com ferramentas de integrao contnua). Anlise de relatrios de falha. Tcnicas para isolamento e falhas (depurao). Anlise de defeitos. Acompanhamento de problemas (tracking). IEEE Std 10122004.

Disciplinas Optativas
Trabalho Cooperativo Baseado em Computador Colaborao e Cooperao. Sociedade do conhecimento. Modelos de gesto e organizao baseados em conhecimento. Organizaes de aprendizagem. Modelos para ambientes de trabalho cooperativo baseado em computador. Tecnologias de suporte comunicao e cooperao. Planejamento de processos organizacionais cooperativos.

Especificao Formal de Software Estudo de mtodos formais para desenvolvimento de software. Importncia da Especificao Formal na Engenharia de Software. Uso de Ferramentas de apoio ao desenvolvimento formal.

Arquitetura de Software Definio de arquitetura de software. Importncia e impacto em um software. Estilos arquiteturais (pipeand-filter, camadas, transaes, publish-subscribe, baseado em eventos, cliente-servidor e outros). Relao custo/benefcio entre vrios atributos. Questes de hardware em projeto de software. Rastreabilidade de requisitos e arquitetura de software. Arquiteturas especficas de um domnio e linhas de produto. Notaes arquiteturais (vises, representaes, diagramas de componentes e outros). Reutilizao.

Leitura de Software Estudar, investigar, analisar e discutir projetos de softwares existentes e vencedores.

Compiladores Introduo a Compiladores, Anlise Lxica, Anlise Sinttica, Anlise Semntica, Gerao de Cdigo, Tpicos Especiais em Compiladores.

Integrao de Aplicaes Definio de integrao de aplicaes. Desafios de integrao. Abordagens de integrao (transferncia de arquivos, bases de dados compartilhadas, chamada de procedimento remoto e troca de mensagens). Padres para integrao de aplicaes.

23

Desenvolvimento de Software Concorrente Liveness. Safety. Semforos. Locks. Threads. Deadlocks. Implementaes de algoritmos concorrentes. Linguagem MPI.

Desenvolvimento de Software para Dispositivos Mveis Viso geral sobre dispositivos mveis: Comparao entre dispositivos mveis e computadores convencionais; A linguagem Java para o desenvolvimento de aplicaes para dispositivos mveis: JME; Arquitetura JME: Configuraes (CLDC, CDC, etc) e Perfis (MIDP, Personal Profile, etc); Recursos da linguagem: MIDlets (aplicao / interface), GCF (framework de comunicao), RMS (framework de dados), High Level API e Low Level API (canvas). Frameworks e Bibliotecas para desenvolvimento de aplicaes mveis.

Desenvolvimento de Software para Persistncia Definio de persistncia. Persistncia empregando arquivos binrios, documentos XML, objetos serializveis, SGBDs. Tecnologias para persistncia de informaes. Persistncia de objetos usando base relacional.

Mtodos e Ferramentas de Engenharia de Software Mtodos heursticos, formais e de construo de prottipos. Ferramentas para auxiliar na produo de requisitos, projeto, construo, testes e manuteno. Ferramentas de gerncia de configurao, gerncia de projeto, processo de software, qualidade e outras.

Desenvolvimento de Software para Web Conceitos bsicos de Internet e Web, histrico e a W3C. Linguagem de marcao HTML, folhas de estilo, introduo a Javascript e Web 2.0. Construo de pginas dinmicas: principais servidores web, servidor Tomcat, servlets, jsp, scriptlets e interao com banco de dados. Introduo aos principais Frameworks para desenvolvimento Web.

Experimentao em Engenharia de Software Conceituao e esclarecimento acerca de experimento controlado, estudos de caso e surveys. Processo de desenvolvimento de um projeto de pesquisa (inclui atividades, formulao de questes, construo de teoria e anlise qualitativa/quantitativa de dados). Investigao de experimentos cientficos em engenharia de software. Prtica acompanhada de pequeno experimento em engenharia de software.

Reuso de Software Conceitos bsicos e importncia de Reuso de Software. Principais abordagens de reuso: Engenharia de Domnio, Linha de Produtos de Software, Desenvolvimento Baseado em Componentes, Arquitetura Orientada a Servios, Padres e Frameworks.

Gerncia de Configurao Conceitos e terminologia. Processos de gerncia de configurao. Identificao de itens de configurao. Atributos a serem registrados para cada item de configurao. Armazenamento. Controle de mudanas. Relatrios de status. Controle de verses e linhas base ou de referncia (baselines). Gerncia de configurao segundo o MPS.BR. Papis em gerncia de configurao. Normas (IEEE 828). Princpios de gerncia de configurao e relao com atividades de desenvolvimento de software. Gerncia de configurao segundo desenvolvimento gil, tcnica de builds frequentes e desenvolvimento iterativo. Gerncia de configurao para diferentes tipos de produtos (compostos, multiplataforma, mltiplas variantes, crticos, pequenos, mdios e grandes).

24

Gerncia de configurao para desenvolvimento de software distribudo geograficamente, mltiplos interessados e desenvolvimento paralelo. Melhoria de gerncia de configurao. Consideraes prticas acerca de gerncia de configurao de software. Ferramentas.

Estimativa de Custo em Projetos de Software Estimativa do tamanho do software a ser desenvolvido; Estimativa dos riscos e incertezas do projeto; Estimativa de esforo necessrio para construir o software; Estimativa de prazo necessrio para construir o software e Estimativa do custo do projeto. Modelos de Estimativas como: Estimativa em pontos de Casos de Uso e Anlise de Pontos de Funo, COCOMO e COCOMO II.

Segurana Ameaas. Segurana como atributo qualitativo de projeto de software. Autenticao. Autorizao. Integridade. Confidencialidade. Criptografia (chaves simtricas e assimtricas). Infraestrutura de chaves pblicas brasileiras (ICP-Brasil). Certificados digitais. Assinaturas digitais. Desenvolvimento de software seguro. Noes de auditoria de sistemas. Norma NBR 27002.

Teoria da Computao Modelos computacionais universais. Computabilidade. Funes recursivas. Introduo complexidade de problemas e tpicos avanados.

Linguagens Formais Introduo. Linguagens, gramticas e expresses regulares, autmatos finitos. Linguagens e gramticas livre-do-contexto e autmatos de pilha. Linguagens sensveis ao contexto. Hierarquia de classes de linguagens. Tpicos especiais e aplicaes das linguagens formais e autmatos

Ingls Instrumental I Vocabulrio ligado Informtica. Tcnicas de Leitura e Compreenso. Tradutores. Verbos e tempos verbais. Nomes e Pronomes.

Ingls Instrumental II Conversao, leitura de artigos e jornais da rea. Escrita de trabalhos tcnicos. Apresentao de seminrios. Noes avanadas de gramtica e compreenso de texto.

Inteligncia Artificial Conceito de IA, Histrico e Metas. Agentes Inteligentes. Soluo de problemas, busca e jogos. Sistemas Lgicos, Conhecimento e Raciocnio. Sistemas Baseados em Conhecimento. Planejamento. Incerteza, Probabilidade e Teoria da Deciso. Aprendizado. Linguagem e Comunicao. Percepo. Robtica. Questes Filosficas.

9.5.Estgio Supervisionado
Oportunidades de estgios devero ser oferecidas aos alunos do curso de Engenharia de Software dentro da UFC nas reas de abrangncia do curso, atravs do engajamento nos projetos em andamento. Tambm ser incentivada a participao dos acadmicos em estgios fora da Instituio, visando o aperfeioamento e a diversificao no desenvolvimento de suas atividades. Para tanto, ser necessrio que a

25

UFC firme convnios de parcerias com empresas, reiterando assim a prtica como componente curricular. O Estgio Supervisionado ser acompanhado pelo Professor Orientador de Estgio e as experincias individuais sero relatadas pelo estudante estagirio. Ao final do Estgio, sero avaliadas as experincias que podero ser sistematizadas para publicaes e apresentao em eventos relativos a Engenharia de Software. A carga horria do estgio ser de 320 horas, distribuda nos dois ltimos semestres do curso.

9.6.Trabalho de Concluso de Curso


O Curso de Bacharelado em Engenharia de Software possui um Trabalho de Concluso de Curso (TCC), que envolva todos os procedimentos de uma investigao tcnico-cientfica, a ser desenvolvida pelo estudante ao longo dos dois ltimos semestres do curso. Procura-se a aplicao do mtodo cientfico nos trabalhos TCC, que tem como objetivo principal a aplicao das tecnologias abordadas nas disciplinas aspectos especficas de engenharia de software. Considerase sempre a evoluo da rea nas atividades. O trabalho poder ser desenvolvido nas diversas reas de pesquisa em engenharia de software, tais como gerncia de projetos, qualidade de software, reuso de software, entre outros temas que podem ser acordados com o professor orientador da disciplina. O trabalho dever ser formatado e entregue em formato acadmico e defendido perante uma banca de trs professores da rea, de acordo com os critrios gerais da UFC.

9.7.Atividades Complementares
Em funo de oferecer aos alunos a experincia prtica requisitada pelo mercado de Tecnologia da Informao e Comunicao, estes so incentivados a desenvolverem atividades diversas nos laboratrios de ensino de informtica, de forma a contemplarem situaes fictcias e reais e aprenderem a trabalhar nas mesmas. Os professores do curso so incentivados, dessa forma, a ofertar oportunidades de trabalho em equipe a serem desenvolvidos nos laboratrios do campus e participao dos alunos nos projetos do Ncleo de Prticas. As atividades complementares sero realizadas de acordo com a Resoluo N07/CEPE, de 17 de Junho de 2005 que dispe sobre estas atividades nos Cursos de Graduao da UFC.

10.

Integralizao Curricular

O currculo do Curso de Bacharelado em Engenharia de Software composto por disciplinas que tm enfoque nas prticas mais comuns de engenharia de software e que so mais utilizadas para resoluo das necessidades apresentadas pelo mercado. Composto por um conjunto de disciplinas a somar 3.072 horas/aula, este currculo compreende disciplinas a serem estudadas com objetivo da formao de um profissional qualificado e em sintonia co o mercado. Uma vez que o perfil profissional desejado ao egresso do curso que propomos envolve, entre outras, a capacidade de desenvolver

26

implementar e utilizar solues de TIC, requeremos que o aluno demonstre a evoluo de seus conhecimentos atravs da execuo do TCC (Trabalho de Concluso de Curso) e do Estgio Supervisionado. Abaixo na Figura 1, exibimos a sugesto de disciplinas a serem cursadas em cada perodo, com o nmero de horas e crditos obtidos pela concluso das mesmas e seus requisitos.

Figura 1- Fluxo detalhado da Integrao Curricular.

27

11.

Acompanhamento

Avaliao

do

Projeto

Pedaggico
A avaliao e a atualizao curricular devem constituir um processo contnuo, com o intuito de manter o curso de Bacharelado em Engenharia de Software sintonizado com as necessidades do ambiente externo e propiciar o aperfeioamento constante das condies de ensino do curso. Assim, a avaliao deve ser uma concepo incorporada ao desenvolvimento das atividades do curso no mbito da sala de aula, no mbito da unidade acadmica que responsvel pelo curso e no mbito da prpria instituio de ensino superior. Visando manter um currculo sempre coerente com as tecnologias que venham a ser incorporadas no mercado, existe algumas disciplinas, em que previsto a flexibilidade quanto sua ementa, no sentido de permitir que as novidades emergentes na rea possam ser abordadas com mais detalhe ao final de cada disciplina. Alm disso, a atualizao de tecnologias ser incorporada nas prticas de laboratrio e trabalhos passados aos alunos, de forma que a grade curricular proposta se mostra concisa, abrangente e adaptvel, o que permite um acompanhamento e avaliao bastante adequados dos resultados obtidos na implementao deste projeto pedaggico.

12.

Acompanhamento e Avaliao dos Processos de

Ensino e Aprendizagem
Com o intuito de oferecer formao de alto nvel e conhecimento tecnolgico extenso e aprofundado, visado acompanhar em detalhes o processo e resultados das tcnicas adotadas no ensino das disciplinas do curso de Bacharelado em Engenharia de Software. Nesse sentido, atravs de atividades para avaliaes escritas e prticas realizadas com os alunos, orientado aos docentes que acompanhem seu amadurecimento durante o curso, registrando os resultados individuais dos alunos e gerais das turmas. Aqui, o programa de Avaliao Institucional utilizado atualmente pela UFC, em processo de automatizao e disponibilizao on-line como iniciativa do curso de Sistemas de Informao no Campus de Quixad, oferece suporte e se mostra de grande auxlio, pois permite que os alunos expressem suas opinies sobre a experincia de cursar a disciplina com um dado professor em dimenses apropriadas para uma avaliao pedaggica. Esses resultados devem ser utilizados pelos docentes no sentido de melhorar cada vez mais em seu trabalho com as disciplinas que lhe forem confiadas, e encorajamos-lhes a faz-lo. A coordenao de curso tem um papel fundamental como

28

ambiente centralizador desses relatrios e mediador da relao entre professor e aluno quanto a avaliaes e crticas. O ENADE (Exame Nacional de Desempenho de Estudantes), que avalia por amostragem, em uma prova unificada para todo o pas, os estudantes ingressantes e concludentes de diversos cursos de ensino superior o outro instrumento de medida da qualidade da formao dos alunos oriundos do Curso de Bacharelado em Engenharia de Software. Em 2008, os cursos de TIC foram avaliados, incluindo as reas de Cincia da Computao, Sistemas de Informao, Tecnologia em Anlise e Desenvolvimento de Sistemas e de Redes de Computadores, sendo disponibilizados os resultados por ano de avaliao no site do INEP (enade.inep.gov.br), sendo que, portanto, a prxima avaliao ocorrer no ENADE 2011.

13.

Condies Atuais de Oferta do Curso

O Campus da UFC em Quixad, onde ser ofertado o curso de Engenharia de Software tem apoio do curso de Bacharelado em Sistemas de Informao, j instalado e em funcionamento com 3 (trs) turmas em formao. O apoio do curso de Sistemas de Informao se d, aqui, de vrias formas, enfatizando-se o corpo docente j disponvel e suas qualidades, bem como a infra-estrutura j instalada ou em fase de instalao. O perfil do corpo docente um elemento essencial para o sucesso do projeto pedaggico de um curso e pode ser caracterizado em termos da titulao, regime de trabalho e experincia. Em termos gerais, o corpo docente deve apresentar um nmero de mestres e doutores mnimo conforme os indicadores de qualidade do MEC. No que diz respeito ao regime de trabalho e de acordo com a especificidade da instituio de ensino superior, os professores devem estar disponveis em perodo integral de forma a permitir o desenvolvimento de atividades de ensino, pesquisa e extenso relacionadas engenharia de software. Por outro lado, desejvel que uma parte do corpo docente seja composta por profissionais com atuao no mercado de trabalho como forma de permitir uma integrao mais efetiva entre a realidade de atuao profissional e a realidade da atuao acadmica. Entretanto, destaca-se que mesmo neste caso deve-se continuar observando a necessidade de preencher requisitos mnimos de titulao acadmica. Por sua vez, para o perfil do coordenador do curso de Engenharia de Software recomenda-se que o mesmo tenha formao semelhante sugerida para os docentes da rea de Formao Bsica em Engenharia de Software. Destaca-se a necessidade da instituio dispor de um plano de capacitao docente que permita aos professores o acesso a oportunidades de titulao de acordo com os objetivos e necessidades do curso. O atual corpo docente do Campus de Quixad apresenta profissionais de diferentes setores de estudos e que compartilham caractersticas entre as citadas desejadas para as unidades curriculares sugeridas para o curso de Engenharia de Software e que tm tomado conhecimento da realidade local com relao a TIC, bem

29

como do mercado atual local e no estado. Dessa forma, os professores do Campus de Quixad esto aptos a guiar a oferta de concursos por setores de estudos direcionados ao curso proposto no presente projeto e orientar os novos contratados em sua ambientao e na organizao do curso. Quanto infra-estrutura, devido constante evoluo das tecnologias, imprescindvel que os estudantes disponham de equipamentos modernos, interligados em rede e com livre acesso a Internet. O Curso de Bacharelado em Engenharia de Software, devido a sua dimenso prtica e aplicada, necessita de recursos computacionais variados em termos de complexidade e capacidade. Isto deve incluir ambientes de interface grfica (GUI), desktops e ambientes para o desenvolvimento de softwares. Com relao ao ambiente de software, os alunos do curso devem dispor de variedade de softwares que representem a realidade do mercado e o estado da arte nas reas aplicadas e de desenvolvimento, tanto do ponto de vista do desenvolvedor de software como do usurio (softwares de gesto). Desta forma, sero disponibilizados ferramentas de apoio ao desenvolvimento de sistemas (planejamento, especificao de requisitos, anlise e projeto), linguagens de programao e sistemas gerenciadores de banco de dados. Em termos de biblioteca, o Bacharelado em Engenharia de Software deve dispor de um acervo que contemple os ttulos adotados como bibliografia bsica e bibliografia complementar indicados nos planos de ensino das disciplinas que operacionalizem as matrias. A biblioteca deve disponibilizar os principais peridicos cientficos da rea de Computao e Engenharia de Software relacionado s disciplinas constantes da estrutura curricular. Por fim, a instituio deve implementar polticas de aquisio e emprstimo capazes de viabilizar o acesso dos alunos a um acervo atualizado. Neste sentido, o papel do corpo docente buscar continuamente a atualizao de suas indicaes bibliogrficas de acordo com os objetivos do curso. O Campus de Quixad conta com dois laboratrios para prtica de atividade em informtica e um ncleo de prticas, que dispe de dois notebooks para a produo de atividades de projeto e desenvolvimento de sistemas. Alm disso, o Campus tem verba aprovada para a construo de um Laboratrio de Computao Mvel e Tecnologia da Informao, pelo vis da aceitao de um projeto de apoio graduao e que est em fase de implantao. Esse laboratrio servir para desenvolver atividades complementares junto aos alunos do curso de Sistemas de Informao e se adequa perfeitamente realidade das atividades do Curso de Engenharia de Software, permitindo que os alunos do novo curso de tecnologia usufruam deste recurso.

14.

Projeto de Melhoria das Condies de Oferta do

Curso
O curso dever estar sempre em um processo contnuo na busca de melhorias qualitativas, com parcerias internas e externas, que podero ser implementadas atravs do ncleo de prticas do Campus da UFC em Quixad, Escritrio de Projetos, parcerias com o NPD, Grupos de Pesquisa e empresas de software do estado. Pode-se ainda criar

30

projetos para desenvolver infra-estrutura de software para o governo do estado e federal, cuja demanda por solues de informtica constante. Recursos de fomento obtidos devero ser utilizados para construo e implantao de novos laboratrios e melhoria da biblioteca do Campus de Quixad.

Referncias
BRASSCOM Brasscom. URL: http://brasscom.com.br. CNPq Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico (CNPq). URL: http://www.cnpq.br. FINEP Financiadora de Estudos e Projetos (FINEP). URL: http://www.finep.gov.br. IEEE 610.12-1990 IEEE STD 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology, IEEE Computer Society, 1990. PMBOK 2008 A Guide to the Project Management Body of Knowledge, PMBOK Guide, Fourth Edition, ANSI/PMI 99-001-2008, 2008. SEEK 2004 SEEK 2004 Software Engineering 2004 Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, 2004. Disponvel em http://sites.computer.org/ccse/. Sommerville Software Engineering, 8th edition, Ian Sommerville, Pearson AddisonWesley, 2006. SWEBOK 2004 Guide to the Software Engineering Body of Knowledge, IEEE Computer Society, 2004. Disponvel em http://swebok.org. Softex Softex: Excelncia em Software. URL: http://www.softex.br.

31

Potrebbero piacerti anche