UM ESTUDO SOBRE A INTEGRAÇÃO DE ASPECTOS DA INTERAÇÃO HUMANO-COMPUTADOR NOS MÉTODOS DE DESENVOLVIMENTO DE SISTEMAS INTERATIVOS

Tamanho: px
Começar a partir da página:

Download "UM ESTUDO SOBRE A INTEGRAÇÃO DE ASPECTOS DA INTERAÇÃO HUMANO-COMPUTADOR NOS MÉTODOS DE DESENVOLVIMENTO DE SISTEMAS INTERATIVOS"

Transcrição

1 UM ESTUDO SOBRE A INTEGRAÇÃO DE ASPECTOS DA INTERAÇÃO HUMANO-COMPUTADOR NOS MÉTODOS DE DESENVOLVIMENTO DE SISTEMAS INTERATIVOS Sarah Sther Chagas de Aquino MONOGRAFIA APRESENTADA AO CENTRO DE CIÊNCIAS TECNOLÓGICAS DA UNIVERSIDADE DE FORTALEZA COMO PARTE DOS REQUISITOS PARA A OBTENÇÃO DO GRAU DE BACHAREL EM INFORMÁTICA. Aprovada por: Professora Elizabeth Sucupira Furtado, D.Sc. (UNIFOR) Professor Flávio Horácio Souza Vierira, M.Sc. (UNIFOR) Fortaleza, CE - Brasil. Julho / 2003

2 AQUINO, SARAH STHER CHAGAS DE Um Estudo sobre a Integração de Aspectos da Interação Humano-Computador nas Metodologias de Desenvolvimento de Sistemas Interativos Software, [Fortaleza] 2003 vi, 79p. 29,7 cm (INFORMÁTICA/UNIFOR, Engenharia de 2003) Monografia Universidade de Fortaleza, Informática. 1. Interação Humano-Computador 2. UML 3. Metodologia de Desenvolvimento de Software I. INFORMÁTICA/UNIFOR II. TÍTULO (série) Os caminhos eu traço, o final Deus decide. O que faz minha vida valer a pena não é onde eu vou chegar, mas o que farei até lá. Desconhecido

3 AGRADECIMENTOS Os sinceros agradecimentos a todos que ajudaram na realização deste trabalho, em especial: - A Deus, por me fazer perseverar diante das dificuldades; - Aos meus pais, José Eudes Aquino de Oliveira e Aguida Maria Chagas de Oliveira, pelo amor, carinho e dedicação que me criaram e educaram; - A professora Elizabeth Furtado, pela orientação, realizando críticas e sugestões na construção deste trabalho; - Ao Roberto, por estar ao meu lado durante todo o tempo, incentivando para que eu sempre fizesse o melhor; - Aos amigos e professores do Curso de Informática pelo apoio dedicado durante todo o curso. 3

4 RESUMO Este trabalho propõe mostrar como aspectos da Interação Humano-Computador (IHC), tais como projeto centrado no usuário, modelagem de interfaces e testes de usabilidade, têm se incorporado às novas metodologias de desenvolvimento de software, para construir sistemas mais usáveis e mais voltados para os seus usuários, suas tarefas. As metodologias estudadas utilizam a UML como notação, já que esta linguagem tem se estabelecido como padrão para análise e projeto de sistemas. Este trabalho abrange a definição destes aspectos, das metodologias e uma análise comparativa entre elas. A pesquisa realizada visa futura ponte entre as duas áreas: IHC e engenharia de software, bem como servir de fonte de trabalho para os desenvolvedores de software e projetistas de interfaces de usuário. 4

5 SUMÁRIO Introdução Conceitos Iniciais Motivação Objetivos Principais Estudar Conceitos de IHC Conhecer Metodologias de Desenvolvimento de Software aplicando UML Definir Critérios de Comparação Compar Estrutura da Monografia Conceitos de IHC Projeto Centrado no 14 Usuário Sistemas 16 5

6 Adaptativos Modelagem de Interface Arquitetura de Interface Testes de Usabilidade Conclusão Processo de Desenvolvimento de Software Definições Ciclo de 31 Vida Modelo Tradicional ou em 32 Cascata Modelo 33 Evolutivo Modelo 34 Espiral Abordagens Abordagem 36 Estruturada Abordagem Orientada a 37 Objeto Fases de 38 Desenvolvimento Análise de 38 Requisitos Análise Design Implementação

7 Teste Diagramas UML em gráficos X Fases de desenvolvimento Conclusão Métodos de Desenvolvimento Método UML PID ARFDIU RUPi UMLi Comparação resumida descritiva Conclusão Cnclusão da Monografia Trabalhos futuros... Referências Bibliográficas

8 LISTA DE FIGURAS Figura 01 - Conceitos de IHC relevantes para o design de interfaces de usuário Figura 02 Modelo Seeheim Figura 03 Modelo Arco Figura 04 Modelo MVC Figura 05 Modelo PAC Figura 06 Modelo PAC-Amodeus Figura 07 - Processo de desenvolvimento do método UML PID Figura 08 - Descrição das principais etapas do método ARFDIU 8

9 Figura 09 - Estrutura do processo RUPi Figura 10 - Modelos declarativos da interface da UMLi. Figura 11 - Elementos do diagrama de interface de usuário. 9

10 Capítulo 1 INTRODUÇÃO Este trabalho tem o objetivo de apresentar como os aspectos da Interação Humano-Computador (IHC) estão sendo incorporados às novas metodologias de desenvolvimento de software, para a construção de sistemas mais usáveis. Poucas são as metodologias de desenvolvimento que consideram tais aspectos. A maioria das metodologias existentes se preocupa em garantir qualidade para aspectos como custo e cronograma, e acabam deixando de lado os usuários e suas tarefas, não garantindo assim a usabilidade, isto é, facilidade de aprender e usar. As metodologias de desenvolvimento de software estudadas para a realização deste trabalho, incluem em seu processo de desenvolvimento aspectos de IHC, com o intuito de produzir interfaces de usuário de acordo com suas reais necessidades. Fazendo assim com que os usuários considerem o sistema como facilitador de seu trabalho e não um obstáculo, já que os sistemas resultantes foram projetados para se adaptarem a eles, suas tarefas e seu contexto de uso. Foram escolhidas metodologias que utilizem a UML como notação padrão, pois, hoje em dia, a UML tem se estabelecido como a linguagem padrão para especificação e projeto de sistemas. A próxima seção apresenta os conceitos iniciais usados neste trabalho. A seguir são apresentados os objetivos principais, seguidos pela apresentação da estrutura dos capítulos seguintes. 10

11 1.1 Conceitos iniciais Esta seção contém uma abordagem em torno dos conceitos básicos utilizados ao longo deste trabalho. Em seguida, ela apresenta uma resumida descrição sobre as áreas de Engenharia de Software e Interação Humano- Computador, sistemas interativos, a evolução das metodologias de desenvolvimento e uma introdução a UML. - ES e IHC A área de Interação entre Seres Humanos e Sistemas Computacionais (IHC) tem por objetivo principal fornecer aos pesquisadores e desenvolvedores de sistemas explicações e previsões para fenômenos de interação usuário-sistema e resultados práticos para o design da interface de usuário. Com teorias a respeito dos fenômenos envolvidos seria possível prever antecipadamente se o sistema a ser desenvolvido satisfaz as necessidades de usabilidade dos usuários [LEITE, 2001]. A área de Engenharia de Software (ES) tem por objetivos a aplicação de teoria, modelos, formalismos, técnicas e ferramentas da ciência da computação para o desenvolvimento sistemático de software e o gerenciamento do processo de desenvolvimento [LEITE, 2000]. Existe uma falsa impressão hoje em dia sobre como fazer para desenvolver um sistema interativo que satisfaça às necessidades do usuário. Sistemas que tem como objetivo satisfazer as necessidades do usuário devem, durante as etapas do processo de seu desenvolvimento, envolver pessoas com conhecimento em diversas áreas e não apenas da ciência da computação. Isto porque IHC é uma área multidisciplinar, que tem contribuições significativas para o desenvolvimento de sistemas mais usáveis nas áreas de comunicação, design, 11

12 ergonomia, etc. Enquanto a engenharia de software se preocupa principalmente com a gerência de projetos e produção de código. No entanto, poucos métodos de desenvolvimento existentes apresentam de forma explícita quando ou como deve ser conduzido o processo de desenvolvimento de software com uma equipe multidisciplinar e levando em conta aspectos de IHC dentro deste processo. - Sistema Interativo Um sistema interativo é um conjunto de programas manipulados pelo usuário cuja realização de suas funções visa resolver um determinado problema [FURTADO, 1997]. Um sistema interativo é composto por uma parte não interativa, chamada aplicação, e uma parte interativa, chamada interface. A engenharia de software tem se direcionado ao desenvolvimento da parte funcional do sistema (a aplicação), enquanto que o IHC se preocupa com a parte que interage com o usuário (a interface). O desenvolvimento de sistemas interativos de qualidade requer o uso de conceitos e técnicas de IHC e de conceitos e métodos de desenvolvimento de sistemas da engenharia de software. Esta separação permite que aplicação e interface sejam alteradas e melhoradas individualmente. Por exemplo, a correção de problemas de funcionalidade do sistema não influi nas melhorias que podem ser feitas no projeto da interface. Assim, projetistas de interface e da aplicação trabalham de forma mais independente. Esta separação garante o respeito ao princípio da independência do diálogo homem-computador. 12

13 Geralmente, a equipe de desenvolvimento de software envolve analistas e projetistas específicos à aplicação e específicos à interface. Os analistas e projetistas da aplicação têm uma visão interna dos sistemas, dando prioridade a requisitos funcionais como eficiência e manutenibilidade, colocando em segundo plano o desempenho do usuário diante de suas tarefas. Isto pode ocasionar a geração de sistemas que funcionam, mas que muitas vezes são inadequados aos seus usuários. Os projetistas de interface, ao contrário dos analistas, têm uma visão interna do sistema, dando ênfase às características de interação, deixando de lado as funcionalidades e a arquitetura proposta pela engenharia de software. As ferramentas disponíveis para os analistas dão apoio a todas as fases de desenvolvimento. São ferramentas bem elaboradas e baseadas nas boas práticas da engenharia de software. Tais práticas se referem à aplicação de alguns princípios tais como: modularidade e abstração, confiabilidade, robustez e facilidade de manutenção. Os projetistas de interface não dispõem de ferramentas que lhes auxiliem da mesma forma. Seu trabalho emprega ferramentas rudimentares, basicamente editores gráficos, desprovidos de uma lógica mais aprofundada e desconexos face o desenvolvimento da aplicação [CYBIS, 1997]. Um sistema interativo tem que ter funcionalidades bem claras e ser fácil de usar, mas também precisa ser robusto e fácil de manter. Um sistema que não possui estas características não apresenta qualidade, nem do ponto de vista de IHC, nem da engenharia de software. Para conseguir um sistema com as qualidades acima é necessária uma metodologia de desenvolvimento integradora dos processos do design de interfaces, baseados nos conceitos de IHC, e dos processos de analistas e projetistas baseadas na engenharia de software. 13

14 - Metodologias de Desenvolvimento de software Evolução Esta seção apresenta a evolução das metodologias de desenvolvimento de software [AVISION E FITZGERALD, 2003]. O desenvolvimento de software tem se mostrado uma das atividades mais desafiadoras. Apesar de não ser uma prática nova, ainda é muito difícil conseguir concluir um projeto de desenvolvimento de software dentro do prazo, com o custo programado, com todos os requisitos satisfeitos e com qualidade. Inicialmente o desenvolvimento de software acontecia sem seguir nenhuma metodologia de trabalho. As atividades eram caracterizadas pela codificação e conserto. Os programadores não tinham noção do negócio o qual a aplicação se referia e os requisitos dos usuários não eram levados em consideração. Era preferível manter os sistemas existentes a desenvolver novos sistemas e atender as necessidades dos usuários, que estão sempre em evolução. Em projetos pequenos essa abordagem funcionava. Mas com o passar do tempo, as aplicações computacionais ganharam mais adeptos e assim os softwares se tornaram maiores e mais complexos. Devido à abordagem limitada e individualista que os programadores tinham do sistema, era difícil conseguir um controle e gerenciamento do projeto. As limitações existentes mostraram a necessidade de padrões e de uma abordagem mais disciplinada, eficiente e previsível para o desenvolvimento de sistemas nas organizações. O resultado foi a criação das primeiras técnicas de desenvolvimento baseadas na identificação de fases e estágios, que permitia maior controle do desenvolvimento de sistemas e introduzia disciplina. Essa abordagem tornou-se 14

15 conhecida como ciclo de vida do desenvolvimento de sistemas. A primeira abordagem ficou conhecida como modelo cascata, e consiste em uma seqüência de estágios de desenvolvimento executados de forma ordenada, onde o resultado de uma era requerido para o início da outra. Esta metodologia possuía limitações que fazia com que os sistemas fossem inadequados às reais necessidades de negócio, instáveis devido às mudanças no negócio, inflexíveis e com problemas de documentação. Várias abordagens apareceram em resposta a uma ou mais dessas limitações. O termo Metodologia foi primeiramente utilizado para descrever o conjunto dessas diferentes abordagens. Ferramentas de apoio às abordagens existentes foram criadas. Entre elas: softwares de gerenciamento de projetos, sistemas repositórios, ferramentas de desenho, e ferramentas assistentes de construção de software. Apesar da propagação do uso de metodologias na época, nem todas as organizações utilizavam-se delas. Pesquisas estatísticas mostravam que as metodologias estavam sendo usadas, mas não as conhecidas comercialmente. A grande maioria afirmava adaptar as metodologias as suas próprias necessidades. Com o passar do tempo algumas organizações continuaram a mudar as abordagens de desenvolvimento, e outras abandonaram por completo. As metodologias não estavam atendendo aos benefícios desejados, como o aumento da produtividade. Os insatisfeitos pregavam que as metodologias eram complexas, e direcionadas para projetos grandes. Elas requeriam pessoas com maiores qualificações técnicas, e suas ferramentas de apoio eram caras e difíceis de usar. 15

16 O uso das metodologias levava os desenvolvedores a se focarem mais no cumprimento das atividades impostas ao invés de se concentrarem na real constatação dos problemas do negócio. Isso gerou dificuldades em se adotar metodologias nas organizações. Para as organizações o problema é a inadequação dos métodos existentes. Isso faz com que elas procurem por formas diferentes e melhores de conduzir o seu desenvolvimento, ou procurem por alternativas para as metodologias existentes, como o desenvolvimento com ferramentas que incluem a geração automática do código, abordagem orientada a objeto e desenvolvimento incremental. Este trabalho mostrará alternativas para as metodologias OO usando a UML e que visam desenvolver sistemas interativos mais centrados no usuário. - UML Com o surgimento e a aceitação das linguagens de programação orientadas a objeto veio a necessidade de métodos que oferecessem suporte a todas as fases de desenvolvimento contendo as mesmas facilidades que as linguagens de programação. Alguns métodos de orientação a objeto se popularizaram, mas cada um com seus próprios conceitos, notações e terminologias. Um problema para os apreciadores da analise orientada a objeto era a falta de uma notação padrão que englobasse qualquer tipo de aplicação. A Unified Modeling Language 1 (UML) surgiu trazendo a padronização para as notações utilizadas na análise orientada a objeto. E com ela novos conceitos para o desenvolvimento de sistemas, pois não é apenas aprender uma simbologia e seu significado, mas também aprender a modelar orientado a objeto. 1 OMG-Unified Modeling Language, v1.5 16

17 Seus criadores desenvolveram três metodologias de modelagem orientadas a objeto bem conceituadas, e a UML se caracteriza pela junção do que havia de melhor nestas três metodologias, adicionando novos conceitos e visões da linguagem, de modo que o sistema possa ser modelado corretamente, fácil de se comunicar com outras aplicações e de fácil entendimento a todos. Na UML foram definidas visões, onde cada visão representa uma visão do sistema como um todo. As visões da UML são a visão de casos de uso, visão lógica, visão de componentes, visão de processo e visão de distribuição. A visão de casos de uso mostra a funcionalidade do sistema como é percebida pelo usuário. Esta visão utiliza os diagramas de casos de uso e de seqüência, e consegue traduzir o problema e a solução de uma forma que o usuário pode compreender. A visão lógica utiliza os diagramas de classes e de estado e mostra como as funcionalidades são construídas no sistema através de estruturas estáticas e do seu comportamento. A visão de componentes mostra a organização dos componentes do código e utiliza o diagrama de componentes. A visão de processo mostra a concorrência que ocorre no sistema, apresentando problemas de comunicação e de sincronização. Esta visão utiliza o diagrama de atividades. A visão de distribuição mostra como o sistema está alocado fisicamente pelos computadores e dispositivos. 17

18 A UML tornou-se a linguagem padrão para especificar, documentar e construir sistemas, podendo ser usada em todas as fases de desenvolvimento dos ciclos de vida e com diferentes linguagens de implementação. UML é uma linguagem e não uma metodologia. Assim suporta diferentes métodos de trabalho, que podem ser criados pelos desenvolvedores que a utilizam. A UML busca criar uma linguagem de modelagem compreensível tanto pelo homem quanto pela máquina, descrevendo o sistema em termos de diagramas, os quais serão vistos mais adiante. 1.2 Motivação Considerando a problemática da utilização de metodologias de desenvolvimento de software apresentada anteriormente, é pertinente uma verificação nas existentes alternativas para se perceber que métodos elas estão propondo para facilitar tal utilização. O fato de utilizarem a UML como linguagem de especificação de software já é uma alternativa para a adoção de uma metodologia. A UML vem sendo considerada como padrão no mercado para especificação de software. A propagação da UML trás a tona questionamentos de como ela poderá ser usada para modelar aspectos de IHC. Assim escolhemos metodologias de desenvolvimento de software que utilizem a UML para representar os produtos. Além de verificar o lado dos desenvolvedores, procurando metodologias de fácil adoção é importante verificar o lado do usuário, analisando que metodologias propõem a construção de software centrados no usuário. Assim a motivação deste trabalho foi fundamentada na necessidade de se analisar metodologias que sejam 18

19 fáceis de usar pelos desenvolvedores e que apõem a construção de sistemas mais fáceis de usar e aprender. 1.3 Objetivo Principal O principal objetivo deste trabalho é estudar como os aspectos de IHC estão sendo incorporados aos novos processos de desenvolvimento de software, estudando as metodologias de desenvolvimento de software que utilizam a UML como notação de seus produtos e que se baseiam nos conceitos de IHC para produzir sistemas mais usáveis. Para atingir este objetivo será necessário desempenhar as seguintes atividades: estudar conceitos de IHC, conhecer metodologias de desenvolvimento de software que apliquem UML, definir critérios de comparação e comparar Estudar conceitos de IHC Os conceitos de IHC estudados são os conceitos que devem ser aplicados às metodologias de desenvolvimento para que desempenhem de forma satisfatória a produção de sistemas usáveis e que reflitam as necessidades de seus usuários. Os conceitos de IHC estudados neste trabalho são: projeto centrado no usuário, sistemas adaptativos, modelagem de interfaces, arquitetura de interfaces de usuário e testes de usabilidade Conhecer Metodologias de Desenvolvimento de Software aplicando UML As metodologias de desenvolvimento que foram selecionadas para estudos, utilizam a UML como notação padrão e se fundamentam no princípio de independência do diálogo homem-computador Definir critérios de comparação 19

20 Os critérios de comparação escolhidos podem ser divididos quanto à IHC e quanto à engenharia de software. Quanto à IHC, os conceitos citados são: projeto centrado no usuário, sistemas adaptativos, modelagem de interfaces, arquitetura de interfaces de usuário e testes de usabilidade. Quanto à engenharia de software, os critérios são: fases de desenvolvimento, diagramas de UML e apoio de ferramentas Comparar A comparação acontecerá de forma descritiva e resumida. Fornecendo um panorama dos critérios de comparação já apresentados de cada metodologia, destacando o que há de melhor e como cada uma pode ser mais bem utilizada. 1.4 Estrutura da Monografia Para descrever os objetivos usados no transcorrer desta monografia, este trabalho estruturado da seguinte maneira. O primeiro capítulo contém a apresentação dos conceitos iniciais relevantes para este estudo e uma visão geral da organização deste trabalho. No segundo capítulo encontra-se a apresentação dos conceitos de IHC mencionados na seção O terceiro capítulo apresenta conceitos da engenharia de software que fundamentam os estudos sobre as metodologias de desenvolvimento. O quarto capítulo descreve as características de cada uma das metodologias estudadas. E finalmente, o quinto capítulo faz uma comparação descritiva das metodologias estudadas e descreve a perspectiva para trabalhos futuros. 20

21 Capítulo 2 CONCEITOS DE IHC Os conceitos de IHC apresentados neste capitulo são: Projeto centrado no usuário, Sistemas adaptativos, Modelagem de interfaces, Arquitetura de interfaces 21

22 e Testes de usabilidade. A junção destes conceitos de IHC, com as técnicas para construção de sistemas da engenharia de software têm o objetivo de construir de sistemas mais úteis e que se aproximam mais das reais necessidades dos usuários. Como conseqüência, temos a satisfação do usuário, fazendo com que o trabalho em frente aos computadores se torne mais amigável e produtivo e não seja considerado um obstáculo. Figura 01 Conceitos de IHC relevantes para o design de interfaces de usuário. 2.1 Projeto centrado no usuário Inicialmente, os sistemas obrigavam seus usuários a falarem a mesma linguagem do computador. Atualmente, os sistemas e os computadores são ferramentas que auxiliam e aumentam a produção de seus usuários. Um dos objetivos dos pesquisadores de IHC é mostrar aos desenvolvedores que não basta focar seus esforços no sistema e sua interface, mas no usuário e no processo de interação que eles participam. Essa abordagem visa minimizar problemas de interação usuário-sistema, tais como incompatibilidade da interface com as capacidades e limitações dos usuários, interfaces difíceis de usar e aprender, problemas ergonômicos e de usabilidade. Integrar os usuários em todo 22

23 o processo de desenvolvimento ajuda a desmistificar o processo de implantação de novas tecnologias. O conceito de projeto centrado no usuário tem como característica o envolvimento do usuário durante todo o processo de construção do sistema e tem seu formalismo definido na ISO Envolver o usuário em todas as fases de desenvolvimento auxilia na construção de sistemas que atendam as expectativas dos seus usuários. Os usuários podem priorizar os requisitos mais essenciais, validar design de interfaces, fazer levantamento de problemas e de requisitos de qualidade. Assim o usuário está no controle, o que lhes proporciona maior aprendizado nos processos contidos no sistema e na ferramenta que está sendo desenvolvida. Essa abordagem centrada nos usuários é uma alternativa para envolvê-los diretamente no processo de desenvolvimento, não os deixando apenas conhecendo a versão final, que pode ser insatisfatória. Nas abordagens tradicionais onde os usuários participam apenas das fases de levantamento de requisitos aumenta o risco de se desenvolver sistemas não bem definidos e mais dispendiosos para futuros reparos. Seguindo os conceitos e métodos definidos pela engenharia de software, o projeto de um sistema é focado na arquitetura e implementação deste. No projeto centrado no usuário, base do trabalho de IHC, o foco passa a ser nas necessidades dos usuários finais e nos aspectos que os cercam. Existem alguns princípios que caracterizam o desenvolvimento centrado no usuário. São eles: entender os usuários, projetar toda a experiência do usuário, avaliar o projeto, avaliar a competitividade e gerenciar usuários [CLEMENTS, 1999]. 23

24 Os desenvolvedores devem entender os usuários, como eles desempenham suas atividades e como podem melhorá-las. O desenvolvimento de um sistema interativo deve considerar a experiência do seu usuário, tornando-o atraente e de fácil uso. Em projetos centrados no usuário são comuns técnicas de avaliação, onde só é codificado o que é validado pelo usuário, gerando um desenvolvimento eficaz. O novo produto deve ser avaliado também em relação a soluções anteriores e concorrentes. Essas informações devem ser usadas para construção de um produto com maior grau de aceitabilidade. É papel do desenvolvedor despertar o envolvimento dos usuários, deixar os usuários cientes da sua participação na tomada de decisão, escolher usuários apropriados para realização de testes em módulos específicos, motivar os usuários para definição de critérios de avaliação. Algumas atividades do projeto centrado no usuário devem ser desempenhadas no processo de sistemas interativos: especificar o contexto do usuário, especificar os requisitos do usuário e da organização, produzir projetos com propostas de soluções e avaliar o projeto de acordo com os requisitos [BEVAN, 2001]. 2.2 Sistemas adaptativos fatores humanos As interfaces devem ser capazes de se adaptarem às necessidades dos seus operadores, com o intuito de melhorar a comunicação do usuário com o sistema. Os estudos na área de projeto de interfaces adaptativas se baseiam nos modelos cognitivos. Esses modelos tentam entender o comportamento humano. 24

25 Pesquisadores de IHC defendem a idéia de que os projetistas devem analisar cuidadosamente a comunidade de usuários e o conjunto de tarefas a serem realizadas como base para estabelecer referências aos fatores humanos no projeto de interface [VIEIRA, 2001]. Considerar fatores, como tempo para aprender e grau de erros, ajuda a construir interfaces mais apropriadas ao universo dos usuários da aplicação. Alguns fatores humanos podem ser medidos para avaliar a qualidade de interação do usuário. São eles [VIEIRA, 2001]: Tempo para aprender: quanto tempo o usuário leva para aprender a executar as atividades necessárias para suas tarefas. tarefas. Velocidade da performance: quanto tempo o usuário leva para realizar suas Grau de erro: quantos e quais erros o usuário comete ao realizar uma tarefa. Retenção após tempo: avalia o nível de assimilação do conhecimento pelo usuário sobre suas tarefas no decorrer do tempo. sistema. Satisfação subjetiva: quantifica a aceitação e satisfação do usuário quanto ao No projeto de interfaces adaptativas devem ser considerados critérios ergonômicos para conseguir a adequação aos fatores humanos. A ergonomia propõe soluções para o desenvolvimento de softwares interativos que sejam adaptados a seus usuários e adequados a suas tarefas [CYBIS, 1998]. O critério adaptabilidade é medido por dois conceitos: flexibilidade e consideração da experiência do usuário. 25

26 A flexibilidade diz respeito às diferentes formas que o usuário pode alcançar um objetivo. É a capacidade da interface de se adaptar às diversas ações que o usuário venha a desempenhar. A flexibilidade leva em consideração as estratégias e hábitos de trabalho dos seus usuários. A implementação deve respeitar o nível de experiência do usuário. Para usuários principiantes a interface deve ser clara e simples, mensagens de erro sucintas e de fácil compreensão. Usuários esporádicos necessitam de interfaces com tarefas que sejam fáceis de recordar e de manuais concisos. Os usuários freqüentes requerem uma interação rápida, comandos poderosos e mensagens de erros breves. 2.3 Modelagem de interfaces estilos de interação A interface de usuário é um combinado de hardware e software que traduzem um modelo de interação. Um modelo de interação é um conjunto de protocolos que permite ao usuário interagir com a aplicação. Determina as atividades mentais e físicas que o usuário deve desempenhar, bem como os processos computacionais que o software da interface deve ter para interpretar os comandos a dados do sistema [LEITE, 2001]. O modelo de interação representa as ações que o usuário executa e como elas podem ser combinadas para que ele possa interagir com o sistema. As características dos modelos de interação são determinadas pela maneira que combinam os padrões, estilos e técnicas de interação. Os padrões de interação se referem aos aspectos da interface que determinam como o usuário deve ver e agir. É um conjunto de regras para manter consistente a aparência e comportamento das interfaces gráficas. 26

27 Os estilos de interação mais comuns são [LEITE, 2001]: Linguagem de comando: neste estilo as instruções são enviadas ao sistema através de comandos pré-determinados que são interpretados e executados pelo software. Cada comando, ou combinação de comando correspondem a funções especificas da aplicação. Os comandos são construídos a partir da gramática que define a linguagem. Neste estilo de interface o usuário toma a iniciativa, cabendo ao sistema executar a instrução apropriada e apresentar os resultados obtidos. As linguagens de comando oferecem maior flexibilidade aos usuários, mas podem dificultar o aprendizado de usuários iniciantes. A falta de padronização dos sistemas que utilizam esse estilo é um fator para a dificuldade. Mas usuários experientes conseguem maior produtividade através de linguagem de comando. Menus: Neste estilo as funções do sistema são mostradas na tela para que o usuário escolha. Em aplicações contendo grande número de funções, as opções do menu podem ser agrupadas e se apresentam de forma hierárquica. O agrupamento das funções deve ser de forma bem definida e de fácil entendimento pelo usuário, para que ele não acabe se perdendo na navegação. Linguagem natural: as interfaces em linguagem natural permitem que a interação do usuário com o sistema seja feita usando sua própria linguagem. O esforço de interpretação é de responsabilidade do computador e não mais do usuário. Este estilo de interação não se aplica a todos os tipos de sistemas, devido à complexidade da interpretação por parte do computador. É mais utilizado em sistemas de consulta e em sistemas baseados em conhecimento, mesmo assim 27

28 limitando o vocabulário das sentenças para diminuir a complexidade de processamento. Preenchimento de formulário: este estilo é mais utilizado em aplicações que manipulam e consultam bases de dados e se baseiam no preenchimento de formulários com informações características do domínio da aplicação. As interfaces deste estilo são de fácil aprendizado pelo usuário, já que muitas vezes são baseadas em formulários já conhecidos por ele. Mas não dão muita flexibilidade ao usuário. Manipulação direta: a manipulação direta permite que os objetos que compõe a interface sejam acionados diretamente sem a necessidade de comandos. Isso ocorre, por exemplo, quando o usuário manipula com ícones que representam componentes como arquivos e diretórios. GUI/WINP: este estilo permite a interação através de componentes de interação chamados de widgets. É implementado pela tecnologia de interfaces gráficas, e utiliza janelas, ícones, menus e ponteiros. Por ser uma combinação de hardware e software permite a utilização de vários estilos, sendo assim não é considerado um único estilo, mas a junção de alguns deles. Podem ser utilizados estilos de menus, manipulação direta, preenchimento de formulário e linguagem de comando. Hipertexto: o hipertexto é um modelo de estruturação de documentos que permite ao usuário a visualização de documentos e a navegação para outros documentos que estão, ligados a ele utilizando-se de elos (links). A crescente utilização de hipertexto veio da popularização da internet, onde a construção de sistemas é feita de acordo com este modelo. 28

29 2.4 Arquitetura de interfaces As arquiteturas são estruturas de organização do sistema segundo um modelo onde estão inseridos e especificados os seus componentes, as interfaces e as formas de comunicação entre estes [SAVIDIS & STEPHANIDIS, 2001]. Dentre os modelos de arquitetura, existem: Seeheim, Arco, MVC, PAC e PAC- Amodeus. Já é consenso no projeto de sistemas interativos a divisão entre a interface de usuário e a aplicação. No modelo Seeheim [COUTAZ, 1993] a interface é dividida em três módulos: Apresentação, Controle de Diálogo e Interface com a Aplicação, além da aplicação. Como mostrado na figura 02. Figura 02 Modelo Seeheim. Na aplicação estão as funções e dados relativos ao domínio do sistema. No módulo de apresentação estão representados os componentes e objetos que compõe a interface do sistema com o usuário. O controle de diálogo é responsável por fazer o intercambio de dados entre a camada de aplicação e apresentação, nele estarão as decisões de quais funções serão executadas dependendo o contexto da interação. O módulo de interface com aplicação é responsável por realizar, explícita e exclusivamente, a comunicação entre a interface e a aplicação. A arquitetura Arco [COUTAZ, 1993] é dividida em camadas: Domínio, Adaptador de domínio, Controle de diálogo, Apresentação e Dispositivos de interação (Toolkit), como apresentado na figura 03. A camada de Domínio realiza 29

30 as tarefas, armazenando funções e dados da aplicação. O Adaptador de domínio serve como mediador entre o domínio e o Controle de diálogo, cuja função é controlar a comunicação entre Domínio e os Dispositivos de interação. A Apresentação fornece os objetos de interação, independentes dos Dispositivos de interação, por exemplo: um objeto seletor pode ser implementado através de menus ou botões. Figura 03 Modelo Arco. As arquiteturas MVC, PAC e PAC-Amodeus são exemplos de arquiteturas baseadas em agentes. Isto significa que o sistema é organizado em um conjunto de agentes especializados que descentralizam as execuções das funções de um sistema interativo e cooperam entre si para realizá-las. A arquitetura MVC(Model View Controller) [SAVIDIS & STEPHANIDIS, 2001] divide a interface em objetos pertencentes as classes Modelo(Model), Visão(View) e Controle(Controller). Um objeto Modelo representa o modelo de dados manipulados pela aplicação, tais como, as tabelas de uma base de dados. Um objeto Visão é uma apresentação de um objeto modelo. Pode haver vários objetos Visão associados a um objeto modelo, pois podem existir várias apresentações para o mesmo objeto modelo. Os objetos Controle são responsáveis pela interpretação das ações dos usuários. Eles recebem as entradas dos usuários, decidem o que fazer e chamam os métodos de objetos Modelo quando necessário. 30

31 Figura 04 Modelo MVC. A arquitetura PAC (Presentation Abstraction - Control) [BAS & COUTAZ, 1991] organiza o sistema em uma hierarquia de agentes, como mostra a figura 05. Cada um destes agentes possui três partições: Apresentação, Abstração e Controle. A Apresentação é a interface do agente com o usuário, a Abstração implementa as funções do domínio da aplicação. O controle une a Apresentação e Abstração, pois representa um meio de comunicação entre ambos, e entre agentes PAC. Figura 05 Modelo PAC. A arquitetura PAC-Amodeus [COUTAZ, 1993] [NIGAY, 1994] é uma arquitetura híbrida. Como apresentado na figura 06, esta arquitetura utiliza a arquitetura Arco, vista anteriormente, como base para divisão funcional do 31

32 sistema. A diferença está no Controle de diálogo, que é organizado em agentes, segundo o modelo PAC. Figura 06 Modelo PAC-Amodeus. 2.5 Testes de usabilidade fatores O conceito de usabilidade foi definido na norma ISO como a capacidade de um produto ser usado por usuários para atingir objetivos específicos com eficácia, eficiência e satisfação em um contexto específico de uso. Em outras palavras, usabilidade é a medida de quanto é utilizável um sistema computacional, se ele atende aos anseios de seus usuários de forma eficaz e se está de acordo com suas tarefas. Essa medição é feita para um contexto específico do sistema. Interfaces onde o usuário trabalha de forma desagradável, ineficiente ou que o impede de atingir seus objetivos está com problemas de usabilidade, o que pode gerar rejeição e abandono do sistema. Alguns exemplos de problemas de 32

33 usabilidade são os seguintes: erros de projeto que impedem o usuário de atingir suas metas, informações insuficientes ou ambíguas que dificultam o aprendizado do usuário. Ultimamente é crescente a preocupação em atender as boas práticas da usabilidade. Desempenho, satisfação e facilidade de aprendizado são algumas das características exigidas no mercado, pois trazem com elas maior produtividade e eficiência no trabalho. Buscando detectar e minimizar os problemas com usabilidade, avaliações são feitas por meio de testes. O objetivo do teste é medir quantativamente o valor alcançado pelo sistema em cada um dos fatores de usabilidade [SOUZA, 1999]. Segundo Souza alguns desses fatores são: Facilidade de aprendizado: tempo e esforço necessário para que os usuários realizem suas tarefas atingindo seus objetivos. Facilidade de uso: avalia o esforço físico e cognitivo do usuário durante a interação, medindo velocidade e números de erros cometidos durante a execução de uma tarefa. Satisfação do usuário: avalia se o usuário gosta de trabalhar no sistema. Flexibilidade: avalia a possibilidade de o usuário acrescentar e modificar as funcionalidades do sistema. Mede a capacidade do usuário utilizar o sistema de forma criativa, realizando tarefas que não estavam previstas. Produtividade: verifica se o sistema permite ao usuário ser mais produtivo do que seria se não o utilizasse. 33

34 É complicado alcançar bons resultados em todos os fatores. Sendo assim, cabe ao projetista identificar quais fatores são prioritários, dependendo do contexto de uso da interface em questão. A avaliação de usabilidade pode ser realizada em qualquer fase do desenvolvimento. Na fase inicial, serve para identificar parâmetros ou elementos a serem implementados no sistema; na fase intermediária, é útil na avaliação ou refinamento do projeto; na fase final, assegura que o sistema atenda aos objetivos e necessidades dos usuários [DIAS, 2002]. 2.6 Conclusão Os conceitos de IHC estudados visam a construção de sistemas mais fáceis de usar e aprender seja trazendo o usuário para próximo do processo de desenvolvimento, ou incorporando às interfaces características físicas e cognitivas dos mesmos. O projeto centrado no usuário busca envolver o usuário em todo o processo de desenvolvimento de software, fazendo com que o foco do projeto de software seja as necessidades dos usuários e suas tarefas. Desta forma, a versão final do software estará mais próxima dos requisitos dos usuários. Para melhorar a interação entre o usuário e o sistema, o conceito de sistemas adaptativos deve ser aplicado. Os usuários finais e suas tarefas devem ser analisados para que as interfaces possam ser adaptadas as características dos usuários e de suas tarefas, sendo então avaliados alguns fatores humanos para garantir a qualidade na interação, tais como: tempo para aprender e grau de erros. O modelo de interfaces faz um elo entre as tarefas dos usuários e os componentes de software da interface através da definição dos estilos de 34

35 interação. As ações que serão executadas pelos usuários indicaram quais processos deverão ser contemplados pelo software. A definição de um modelo de arquitetura de interface apropriada ao software é uma parte importante no projeto de interface de usuário, já que sem uma estrutura adequada a construção de sistemas interativos pode se tornar difícil, o software resultante é difícil de manter e o refinamento iterativo é impossível de ser feito. A aplicação dos conceitos estudados visa atingir a usabilidade do sistema, ou seja, fazer com que o sistema proporcione um trabalho eficaz, eficiente e satisfatório. Tais características têm se tornado um diferencial nos softwares construídos com a aplicação dos conceitos citados e para medir a usabilidade testes são executados, considerando fatores como: facilidade de aprendizado e produtividade. 35

36 Capítulo 3 PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Alguns conceitos da engenharia de software são importantes para fundamentar nosso estudo à cerca das metodologias de desenvolvimento de software, que considerem em seu processo aspectos de IHC. Alguns deles são apresentados neste capitulo, como: definição de processo, metodologia e método, ciclo de vida, abordagens de desenvolvimento, fases de desenvolvimento de software do processo tradicional e a relação entres estas fases e os diagramas da UML. 3.1 Definições 36

37 Nesta seção são apresentadas definições fundamentais para o entendimento do desenvolvimento de sistemas. Normalmente, se faz muita confusão com a terminologia usada. As palavras processo, metodologia e método precisam ser compreendidas de maneira correta. PROCESSO Existem diversas definições para processo, as quais estão descritas abaixo. Um processo de desenvolvimento de software é um conjunto de passos ordenados que devem ser seguidos para atingir um determinado objetivo; em engenharia de software, o objetivo é um produto de software novo ou a evolução de um existente [BALDUINO, 2002]. O processo de desenvolvimento de software define quem faz o quê, como e quando para atingir a meta de construir ou melhorar um produto de software. Ele permite reduzir os riscos e aumentar a previsibilidade. O processo de desenvolvimento deve ser capaz de evoluir para utilizar os avanços das tecnologias, ferramentas e padrões de desenvolvimento de um dado momento. De um modo geral o processo de desenvolvimento deve conter um roteiro para ordenar as atividades da equipe, dirigir as tarefas de cada desenvolvedor e da equipe como um todo, especificar os produtos a serem desenvolvidos e fornecer critérios para monitorar e medir produtos e atividades dos projetos. Adotar um processo de desenvolvimento muitas vezes não é uma tarefa muito fácil de se realizar. O processo de desenvolvimento age diretamente na maneira como os indivíduos trabalham. Portanto, essa adoção deve ocorrer de forma gradativa, onde cada passo deve ser planejado e gerenciado. 37

38 Um dos processos de desenvolvimento amplamente estudado hoje em dia é o RUP Rational Unified Process. Proposto pelos mesmos criadores da UML, o RUP descreva os papéis e as atividades que a equipe deve desempenhar ao longo do ciclo de desenvolvimento e o que deve ser gerado como resultado dessas atividades, os artefatos, que são na grande maioria modelos que utilizam a UML como notação. O RUP possui três conceitos básicos: é dirigido por casos de uso, é centrado na arquitetura e é iterativo e incremental. No RUP os casos de uso são a base para as atividades de análise, design, implementação e testes, eles capturam os requisitos funcionais de um sistema na perspectiva de cada usuário. A arquitetura do software mostra aspectos estáticos e dinâmicos de um sistema. A arquitetura é influenciada pelos casos de uso, hardware e software, frameworks e sistemas existentes. Enquanto os casos de uso correspondem às funcionalidades do sistema, a arquitetura corresponde à forma do sistema. No RUP o trabalho dos desenvolvedores é dividido em mini projetos, que vão evoluindo através de iterações, até atingirem as metas do projeto. O ciclo de vida do RUP é na verdade uma série de ciclos que são executados até a finalização do projeto. Cada ciclo é dividido em quatro fases: concepção, elaboração, construção e transição. Cada fase se encerra com um marco, que é definido por um conjunto de modelos e documentos e ajudam a controlar a evolução do trabalho de desenvolvimento, já que define critérios para o término de uma fase e o início da outra. 38

39 Na fase de concepção ocorre o entendimento dos requisitos e a determinação do escopo do desenvolvimento. São executadas atividades como construção simplificada do diagrama de casos de uso, esboço da arquitetura e identificação dos principais riscos. Na fase de elaboração, o domínio do problema é analisado, a arquitetura do sistema é determinada e o planejamento do projeto é desenvolvido. Na fase de construção, o foco é o projeto e a implementação. Ao final desta fase o produto contém todos os casos de uso previstos para aquela versão. A fase de transição consiste em colocar o produto à disposição da comunidade de usuários. Os usuários são treinados e o produto é testado por eles. Neste momento ocorre a validação do produto de acordo com as expectativas dos usuários. METODOLOGIA Metodologia é um conjunto recomendado de fases, procedimentos, regras, técnicas, ferramentas, documentos, gestão e treinamento para desenvolvedores de sistemas [AVISON & FITZGERALD, 2003]. MÉTODO Um método organiza uma série de operações que devem ser realizadas, apontando os possíveis erros, para se chegar a um determinado objetivo. 3.2 Ciclo de Vida O ciclo de vida do software é um modelo que envolve o conjunto de atividades realizadas desde a idéia de concepção, desenvolvimento do software, o 39

40 processo de manutenção após a sua entrada em operação até o momento em que não será mais útil. O ciclo de vida define as fases que o software passa, o relacionamento entre elas, os produtos gerados em cada uma e os critérios para ir de uma fase a outra. Tem como objetivo integrar aspectos gerenciais e tecnológicos na área de concepção, desenvolvimento e manutenção de software, definir as atividades a serem executadas em um projeto de desenvolvimento de sistemas, oferecer uma padronização aos vários projetos de uma mesma organização e introduzir pontos de verificação durante o andamento do projeto. O ciclo de vida introduziu importantes qualidades ao desenvolvimento como, fazer com que o processo seja conduzido de forma disciplinada, com atividades bem definidas e os requisitos para desempenhá-la permitindo o gerenciamento do projeto. De um modo geral o modelo de ciclo de vida do software compreende as atividades de análise do problema e definição dos requisitos, o desenho da solução, a codificação, os testes e a manutenção. seguir. Os enfoques mais comuns de modelos de ciclo de vida são descritos a Modelo Tradicional ou Em Cascata Divide o desenvolvimento em fases que são executadas seqüencialmente, especifica o conjunto de documentos que são resultado de cada fase, onde a saída de uma é a entrada para próxima. Suas fases principais são: Análise, Projeto, Implementação, Teste e Manutenção. 40

41 Na fase de análise são definidos os requisitos do sistema. O analista inicia buscando compreensão do domínio do problema, partindo assim para a documentação dos requisitos que são posteriormente validados pelo usuário. Esta fase está concluída quando se tem uma descrição completa de como o software se comporta, a especificação dos requisitos. A fase de projeto consiste nas atividades que constroem a estrutura de dados, arquitetura do software e projeto de interface. Ela responde como podem ser feitos os requisitos levantados na fase anterior. O projeto traduz os requisitos em uma representação técnica para que possa ser implementado. Na implementação o projeto é codificado usando uma linguagem de programação e cada um dos programas é testado individualmente. A fase de testes valida as funcionalidades do sistema, verificando se ele gera os resultados esperados para cada operação. Tem como objetivo encontrar os erros, mas não podem assegurar a correção total do sistema. Somente após uma avaliação satisfatória do sistema é que poderá ser implantado para operação dos usuários. Mesmo tendo sido testado o sistema ainda poderá passar por alterações devida a erros encontrados pelos usuários, ou mudanças das regras e requisitos, ou por problemas de desempenho. Estas alterações correspondem à fase de manutenção. Este modelo é adequado quando é possível identificar a maior parte dos requisitos no inicio do desenvolvimento. Porém é criticado por ser linear e rígido. O modelo determina que uma fase só pode ser iniciada quando a anterior for terminada Modelo Evolutivo (Prototipação) 41

42 Neste modelo o software é desenvolvido de forma gradativa, mostrando uma perspectiva do funcionamento do sistema antecipadamente. Esta apresentação é feita na forma de protótipos. A prototipagem é uma técnica para desenvolver e produzir, de forma rápida, partes do sistema quer podem ser utilizadas pelos usuários para avaliação ou operação. A idéia é desenvolver partes do software e ir incrementando com novas patês, ou evoluções das partes já disponíveis, até que todos os requisitos sejam contemplados. Como é um modelo alternativo do modelo cascata, as fases de análise, projeto, implementação e teste, são realizadas repetidas vezes, incrementando e agregando valor ao que já foi produzido em fases anteriores, até que se chegue ao produto final esperado. A grande vantagem deste modelo está em permitir a visualização antecipada do produto final, iniciando com isso a detecção e correção de erros. A arquitetura do sistema a ser desenvolvido deve ser flexível para suportar as possíveis mudanças cada vez que um ciclo é percorrido. Essa flexibilidade que modelo dispõe pode levar a softwares mal documentados e com arquitetura mal definida. Como os requisitos podem ser alterados a cada incremento fica muito difícil estimar prazos e custos, e planejar as atividades de desenvolvimento Modelo Espiral O modelo espiral assume características dos modelos já discutidos anteriormente, por isso é considerado um MetaModelo. Neste modelo pode-se utilizar prototipação, desenvolvimento evolutivo e as principais fases do modelo cascata. 42

43 Sua inovação vem da análise de risco e do planejamento que ocorre a cada término de ciclo. Para detecção dos riscos, que são circunstâncias adversas que podem acontecer durante o desenvolvimento, é necessária a participação de gerentes e técnicos experientes, para que desempenhem da melhor forma esta atividade. O modelo espiral começa com a elaboração dos objetivos do produto. Logo após, as alternativas de desenvolvimento, para obtenção dos objetivos levantados, são avaliadas e os riscos são identificados. Quando a abordagem a ser identificada é determinada, se continua o desenvolvimento, após a avaliação, ocorre o planejamento para próxima fase, onde as atividades se repetem: elaboração dos objetivos, desenvolvimento, avaliação dos riscos e planejamento para a próxima fase. Em cada uma das fases é possível escolher um modelo diferente de ciclo de vida que seja mais adequado às características da fase. O modelo define os estágios de planejamento, análise de requisitos, engenharia e avaliação. No planejamento são determinados os objetivos, as alternativas e restrições. A análise avalia as alternativas e identifica os possíveis riscos, com isso permite definir a melhor estratégia a ser adotada. Na engenharia é realizado o desenvolvimento e a verificação do produto. Na avaliação o cliente revisa os resultados obtidos na engenharia e é elaborado o planejamento da próxima fase, se houver. 3.3 Abordagens Como já discutido anteriormente, o processo de desenvolvimento de software acontecia sem nenhuma técnica de projeto, controle de qualidade ou documentação. Sendo a complexidade uma característica inerente aos sistemas de software, a falta de uma abordagem mais disciplinada levava os projetos a atrasos e estouro de orçamento. 43

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Gerenciamento da Integração (PMBoK 5ª ed.)

Gerenciamento da Integração (PMBoK 5ª ed.) Gerenciamento da Integração (PMBoK 5ª ed.) O PMBoK diz que: O gerenciamento da integração do projeto inclui os processos e as atividades necessárias para identificar, definir, combinar, unificar e coordenar

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

Desenvolve Minas. Modelo de Excelência da Gestão

Desenvolve Minas. Modelo de Excelência da Gestão Desenvolve Minas Modelo de Excelência da Gestão O que é o MEG? O Modelo de Excelência da Gestão (MEG) possibilita a avaliação do grau de maturidade da gestão, pontuando processos gerenciais e resultados

Leia mais

Unidade I Conceitos BásicosB. Conceitos BásicosB

Unidade I Conceitos BásicosB. Conceitos BásicosB à Engenharia de Software Unidade I Conceitos BásicosB Pedro de Alcântara dos Santos Neto pasn@ufpi.edu.br 1961 a 1963 Surgimento de novos Hardwares 1963-1968 Crise do Software! Incapacidade de se utilizar

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu. "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Introdução à Engenharia de Software Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

Porque estudar Gestão de Projetos?

Porque estudar Gestão de Projetos? Versão 2000 - Última Revisão 07/08/2006 Porque estudar Gestão de Projetos? Segundo o Standish Group, entidade americana de consultoria empresarial, através de um estudo chamado "Chaos Report", para projetos

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

Leia mais

Capítulo 2 Usabilidade... 24 2.1 Definição de usabilidade... 25 2.2 Resumo... 39 2.3 Leitura recomendada... 39

Capítulo 2 Usabilidade... 24 2.1 Definição de usabilidade... 25 2.2 Resumo... 39 2.3 Leitura recomendada... 39 Prefácio... IX Lista de Siglas e Abreviaturas... XIII Lista de Figuras e Quadros... XVI Capítulo 1 Portal web... 1 1.1 Definição de portal web... 3 1.2 Portal corporativo... 8 1.3 Resumo... 22 1.4 Leitura

Leia mais

Professor: Curso: Disciplina: Aula 4-5-6

Professor: Curso: Disciplina: Aula 4-5-6 Professor: Curso: Disciplina: Aula 4-5-6 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Engenharia de Requisitos 03º semestre 1 Engenharia de Requisitos Prof. Marcos

Leia mais

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB 18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ

Leia mais

1 Um guia para este livro

1 Um guia para este livro PARTE 1 A estrutura A Parte I constitui-se de uma estrutura para o procedimento da pesquisa qualitativa e para a compreensão dos capítulos posteriores. O Capítulo 1 serve como um guia para o livro, apresentando

Leia mais

Gerenciamento de Projetos Modulo VIII Riscos

Gerenciamento de Projetos Modulo VIII Riscos Gerenciamento de Projetos Modulo VIII Riscos Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CURSO DE GRADUAÇÃO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO A disciplina aborda o estudo da área de Informática como um todo, e dos conceitos fundamentais,

Leia mais

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Engenharia de Software Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Sistemas Computacionais Automatiza ou apóia a realização de atividades humanas (processamento da informação)

Leia mais

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares André Assis Lôbo de Oliveira Francisco Guerra Fernandes Júnior Faculdades Alves Faria, 74445190, Brasil andrelobin@hotmail.com,

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços 1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

QUALIDADE DE SOFTWARE

QUALIDADE DE SOFTWARE QUALIDADE DE SOFTWARE - 02 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 A ISO 9000-3 é um guia para a aplicação da ISO 9001 para o desenvolvimento, fornecimento e manutenção de software.

Leia mais

5 Considerações finais

5 Considerações finais 5 Considerações finais 5.1. Conclusões A presente dissertação teve o objetivo principal de investigar a visão dos alunos que se formam em Administração sobre RSC e o seu ensino. Para alcançar esse objetivo,

Leia mais

Gerenciamento de Requisitos Gerenciamento de Requisitos

Gerenciamento de Requisitos Gerenciamento de Requisitos Gerenciamento de Requisitos Objetivos da disciplina Descrever o processo de Gerenciamento e Engenharia de Requisitos para projetos Treinar alunos no Gerenciamento de Requisitos Apresentar estudos de caso

Leia mais

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF Ben-Hur de Sousa Lopes¹, Jaime William Dias¹ ¹Universidade Paranaense (UNIPAR) Paranavaí Paraná Brasil

Leia mais

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO 1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO Desde o seu surgimento, o manuseio da computação é baseado em linguagens de programação. Ela permite que sejam construídos aplicativos

Leia mais

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI MDMS- Metodologia de Desenvolvimento e Manutenção de Sistemas da Superintendência de Tecnologia da Informação - STI Metodologia de Desenvolvimento e Manutenção de Sistemas da Histórico de Alterações Versão

Leia mais

Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos

Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos Março de 2010 UM NOVO PARADIGMA PARA AS AUDITORIAS INTERNAS Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos por Francesco De Cicco 1 O foco do trabalho dos auditores internos

Leia mais

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos Série de ebooks sobre desenvolvimento em paralelo ágil: Capítulo 2 Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos Novas pressões, mais restrições

Leia mais

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE Questionamento a alta direção: 1. Quais os objetivos e metas da organização? 2. quais os principais Produtos e/ou serviços da organização? 3. Qual o escopo da certificação? 4. qual é a Visão e Missão?

Leia mais

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie 1 INTRODUÇÃO 1.1 ORGANIZAÇÃO E PROCESSOS A administração está diretamente ligada às organizações e aos processos existentes nas mesmas. Portanto, para a melhor compreensão da Administração e sua importância

Leia mais

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização Prof. Ricardo José Pfitscher Material elaborado com base em: José Luiz Mendes Gerson Volney Lagemann Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

Leia mais

Capítulo 2 Objetivos e benefícios de um Sistema de Informação

Capítulo 2 Objetivos e benefícios de um Sistema de Informação Capítulo 2 Objetivos e benefícios de um Sistema de Informação 2.1 OBJETIVO, FOCO E CARACTERÍSTICAS DOS SISTEMAS DE INFORMAÇÃO. Os Sistemas de Informação, independentemente de seu nível ou classificação,

Leia mais

BSC Balance Score Card

BSC Balance Score Card BSC (Balance Score Card) BSC Balance Score Card Prof. Gerson gerson.prando@fatec.sp.gov.br Uma das metodologias mais visadas na atualidade éobalanced ScoreCard, criada no início da década de 90 por Robert

Leia mais

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta *

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta * DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta * RESUMO: Neste texto apresento algumas considerações sobre as competências e habilidades matemáticas a serem desenvolvidas no Ensino Fundamental,

Leia mais

Engenharia de Software

Engenharia de Software Conceitos básicos sobre E.S: Ambiência Caracterização do software Fases de desenvolvimento 1 Introdução Aspectos Introdutórios Crise do Software Definição de Engenharia do Software 2 Crise do Software

Leia mais

O Processo Unificado

O Processo Unificado UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo Unificado 879SCC Projeto e Desenvolvimento de Sistemas

Leia mais

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software Projeto e Desenvolvimento de Sistemas Dr. Fábio Levy Siqueira levy.siqueira@gmail.com Aula 2: Garantia da Qualidade e Padrões Qualidade de software Quais são as atividades de Gestão

Leia mais

Interface Homem-Computador

Interface Homem-Computador Faculdade de Ciências e Tecnologia do Maranhão Interface Homem-Computador Aula: Engenharia Cognitiva e Semiótica Professor: M.Sc. Flávio Barros flathbarros@gmail.com Conteúdo Engenharia Cognitiva Fundamentos

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Requisitos do usuário, do sistema e do software [Sommerville, 2004] Requisitos Objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema Condição ou capacidade necessária que o software deve possuir para que

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: FUNDAMENTOS DA ADMINISTRAÇÃO

FACULDADE PITÁGORAS DISCIPLINA: FUNDAMENTOS DA ADMINISTRAÇÃO FACULDADE PITÁGORAS DISCIPLINA: FUNDAMENTOS DA ADMINISTRAÇÃO Prof. Ms. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Organizações Nenhuma organização existe

Leia mais

4 Metodologia e estratégia de abordagem

4 Metodologia e estratégia de abordagem 50 4 Metodologia e estratégia de abordagem O problema de diagnóstico para melhoria da qualidade percebida pelos clientes é abordado a partir da identificação de diferenças (gaps) significativas entre o

Leia mais

Administração de Pessoas

Administração de Pessoas Administração de Pessoas MÓDULO 5: ADMINISTRAÇÃO DE RECURSOS HUMANOS 5.1 Conceito de ARH Sem as pessoas e sem as organizações não haveria ARH (Administração de Recursos Humanos). A administração de pessoas

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software Conceitos, estudo, normas Giuliano Prado de Morais Giglio profgiuliano@yahoo.com.br Objetivos Definir Qualidade Definir Qualidade no contexto de Software Relacionar Qualidade de Processo

Leia mais

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS 3.4 O PROJETO DE MELHORIA DE PROCESSOS 3.4.1 - CONCEITO DE PROJETO

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

As Organizações e a Teoria Organizacional

As Organizações e a Teoria Organizacional Página 1 de 6 As Organizações e a Teoria Organizacional Autora: Sara Fichman Raskin Este texto é totalmente baseado no primeiro capítulo do livro Organizational theory: text and cases, do autor Jones Gareth,

Leia mais

Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série kessia@unipar.br

Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série kessia@unipar.br Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série kessia@unipar.br Motivações Gerenciamento de projetos, vem sendo desenvolvido como disciplina desde a década de 60; Nasceu na indústria bélica

Leia mais

Desenvolvimento estruturado versus orientado a objetos.

Desenvolvimento estruturado versus orientado a objetos. Desenvolvimento estruturado versus orientado a objetos. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Objetivos Identificar diferenças entre: Desenvolvimento

Leia mais

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

sendo bastante acessível e compreendido pelos usuários que o utilizarem. APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Claudiléia Gaio Bandt 1 ; Tiago Heineck 2 ; Patrick Kochan 3 ; Leila Lisiane Rossi 4 ; Angela Maria Crotti da Rosa 5 INTRODUÇÃO Este artigo descreve

Leia mais

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos NOÇÕES DE OHSAS 18001:2007 CONCEITOS ELEMENTARES SISTEMA DE GESTÃO DE SSO OHSAS 18001:2007? FERRAMENTA ELEMENTAR CICLO DE PDCA (OHSAS 18001:2007) 4.6 ANÁLISE CRÍTICA 4.3 PLANEJAMENTO A P C D 4.5 VERIFICAÇÃO

Leia mais

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP Planejamento - 7 Planejamento do Gerenciamento do Risco Identificação dos riscos 1 O que é risco? Evento que representa uma ameaça ou uma oportunidade em potencial Plano de gerenciamento do risco Especifica

Leia mais

Introdução ao Processo Unificado (PU)

Introdução ao Processo Unificado (PU) Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução ao Processo Unificado (PU) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin

Leia mais

2 Fundamentação Conceitual

2 Fundamentação Conceitual 2 Fundamentação Conceitual 2.1 Computação Pervasiva Mark Weiser define pela primeira vez o termo Computação Ubíqua ou Computação Pervasiva (Ubiquitous Computing) em (10). O autor inicia o trabalho com

Leia mais

ITIL v3 - Operação de Serviço - Parte 1

ITIL v3 - Operação de Serviço - Parte 1 ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes

Leia mais

Classificação de Sistemas: Sistemas Empresariais

Classificação de Sistemas: Sistemas Empresariais Universidade do Contestado Campus Concórdia Curso de Ciências Contábeis Prof.: Maico Petry Classificação de Sistemas: Sistemas Empresariais DISCIPLINA: Sistemas de Informação Gerencial O QI da empresa

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 Índice 1. Introdução...3 1.1. O que é um Computador?... 3 1.2. Máquinas Multiníveis... 3 2 1. INTRODUÇÃO 1.1 O QUE É UM COMPUTADOR? Para estudarmos como um computador

Leia mais

QUALIDADE DE SOFTWARE

QUALIDADE DE SOFTWARE DOCENTE PROFESSOR CELSO CANDIDO QUALIDADE DE SOFTWARE Formação: o Bacharel em Sistemas de Informações (SI); o MBA em Tecnologia da Informação e Comunicação (TIC). Conhecimentos: o Web Designer; o Arquitetura

Leia mais

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini priscila_pelegrini@unemat-net.br

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini priscila_pelegrini@unemat-net.br UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini priscila_pelegrini@unemat-net.br SINOP MT 2015-1 COMO SÃO DESENVOLVIDOS OS SISTEMAS DE INFORMAÇÃO? São desenvolvimento como uma estrutura

Leia mais

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti. TI Aplicada Aula 02 Áreas e Profissionais de TI Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO DESENVOLVENDO UM PROJETO 1. Pense em um tema de seu interesse ou um problema que você gostaria de resolver. 2. Obtenha um caderno

Leia mais

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

MODELAGEM DE SISTEMAS DE INFORMAÇÃO Unidade III MODELAGEM DE SISTEMAS DE INFORMAÇÃO Prof. Daniel Arthur Gennari Junior Sobre esta aula Ciclo de Vida de Sistemas Engenharia de Software Aplicações de Software Diagramação de Software Ciclo

Leia mais

DESENVOLVENDO O SISTEMA

DESENVOLVENDO O SISTEMA DESENVOLVENDO O SISTEMA Declaração da Necessidade O primeiro passo do processo de análise de sistema envolve a identificação da necessidade [Pressman-95]. Normalmente o analista reúne-se com o usuário

Leia mais

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier 1 Capítulo 2 Processo de Desenvolvimento de Software Quanto mais livros você leu (ou escreveu), mais

Leia mais

1. Introdução. Avaliação de Usabilidade Página 1

1. Introdução. Avaliação de Usabilidade Página 1 1. Introdução Avaliação de Usabilidade Página 1 Os procedimentos da Avaliação Heurística correspondem às quatro fases abaixo e no final é apresentado como resultado, uma lista de problemas de usabilidade,

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

Casos de uso Objetivo:

Casos de uso Objetivo: Casos de uso Objetivo: Auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP DARCI PRADO Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP Versão 1.6.4 Setembro 2009 Extraído do Livro "Maturidade em Gerenciamento de Projetos" 2ª Edição (a publicar) Autor: Darci

Leia mais

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica, Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de Disjuntores de Subestações de Energia Elétrica Prof. Dr. Lineu Belico dos Reis EPUSP Resumo: O informe técnico apresenta a

Leia mais

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO!

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO! FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO! DEFINIÇÃO A pesquisa experimental é composta por um conjunto de atividades e técnicas metódicas realizados para recolher as

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Descrição do Produto. Altus S. A. 1

Descrição do Produto. Altus S. A. 1 Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração

Leia mais

Visão Geral Parte 1. O que é engenharia de software?

Visão Geral Parte 1. O que é engenharia de software? Visão Geral Parte 1 Jair C Leite DIMAp/UFRN O que é engenharia de software? É uma disciplina da engenharia dedicada a todos os aspectos da produção de software. Engenheiros de software devem adotar uma

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais