AGENDA
3
Overview da aula anterior Desenvolvimento profissional de software. Uma breve introduo a questes ticas que afetam a engenharia de software. Bibliografia da aula
Cap. 1 Sommerville 9 ed. Pag. 2 a 11.
Qualidade
Intrnseca ESW Refere-se ao comportamento do sw, organizao da documentao, a atributos no funcionais.
Produtos de Software
Produtos genricos Sistemas autnomos que so comercializados e vendidos a qualquer cliente que deseja compr-los. Exemplos - Softwares para PC tais como programas grficos, ferramentas de gerenciamento de projetos; software CAD; software para propsitos especficos, tais como sistemas de registros odontolgicos. Produtos sob encomenda O software que encomendado por um cliente especfico para atender suas prprias necessidades. Exemplos - sistemas de controle integrado, software de controle de trfego areo, sistemas de monitoramento de trfego.
Produtos sob encomenda A especificao do que o software deve fazer propriedade do cliente para o software e eles tomam decises sobre as mudanas necessrias no software.
Engenharia de Software
A engenharia de software uma disciplina da engenharia que se preocupa com todos os aspectos da produo de software desde o incio da especificao do sistema at a manuteno do sistema aps esse estar sendo usado. Utiliza teorias e mtodos adequados para resolver os problemas tendo em mente as restries organizacionais e financeiras. No se preocupa apenas com o processo tcnico de desenvolvimento, mas tambm com o gerenciamento de projetos e o desenvolvimento de ferramentas, mtodos, etc. para dar apoio produo de software.
Geralmente, mais barato, no longo prazo, usar mtodos de engenharia de software e tcnicas para os sistemas de software em vez de apenas escrever os programas como se fosse um projeto de programao pessoal. Para a maioria dos tipos de sistemas, a maior parte dos custos so os custos de alterar o software em uso.
Existem muitos tipos diferentes de sistemas de software e no existe um conjunto universal de tcnicas de software aplicvel a todos eles.
Os mtodos de engenharia de software e ferramentas usadas dependem do tipo da aplicao que ser desenvolvida, os requisitos do cliente e os antecedentes da equipe de desenvolvimento.
Tipos de aplicaes
Aplicaes stand-alone so aplicaes executadas em um computador local, tal como um PC. Incluem toda a funcionalidade necessria e no precisam estar conectadas a uma rede. Aplicaes interativas baseadas em transaes so aplicaes executadas em um computador remoto e so acessadas pelos usurios a partir dos seus prprios PCs ou terminais. Essas incluem aplicaes web tais como para ecommerce. Sistemas de controle embutidos so sistemas de software de controle que controlam e gerenciam dispositivos de hardware. Numericamente, provavelmente existem mais sistemas embutidos do que qualquer outro tipo de sistema. Sistemas de entretenimento so, principalmente, para uso pessoal e se destinam a entreter o usurio.
Tipos de aplicaes
Sistemas de processamento de lotes so sistemas corporativos projetados para processar dados em grandes lotes. Eles processam um grande nmero de entradas individuais para criar sadas correspondentes. Sistemas de modelagem e simulao so desenvolvidos por cientistas e engenheiros para modelar processos fsicos ou situaes, que incluem muitos, objetos separados que interagem entre si. Sistemas de coleta de dados so sistemas que coletam dados do seu ambiente usando um conjunto de sensores e envia esses dados para outros sistemas, para processamento. Sistemas de sistemas so sistemas compostos por uma srie de outros sistemas de software.
Os sistemas devem ser desenvolvidos atravs de um processo de desenvolvimento gerenciado e compreendido. Naturalmente, diferentes processos so usados para diferentes tipos de software. Confiana e desempenho so importantes para todos os tipos de sistemas. importante entender e gerenciar as especificaes e requisitos do software (o que o software deve fazer). Quando possvel, voc deve reusar software que j foi desenvolvido, em vez de escrever um novo software.
2.
3.
4.
Pontos Importantes
A engenharia de software uma disciplina da engenharia que se preocupa com todos os aspectos da produo de software. Atributos essenciais do produto de software so a manutenibilidade, confiana, proteo, eficincia e aceitabilidade. As atividades de alto nvel de especificao, desenvolvimento, validao e evoluo fazem parte de todos os processos de software. As ideias fundamentais da engenharia de software so universalmente aplicveis a todos os tipos de desenvolvimento do sistema. Existem muitos tipos diferentes de sistemas e cada um requer ferramentas de engenharia de software e tcnicas apropriadas para o seu desenvolvimento.
A engenharia de software envolve responsabilidades mais amplas do que a simples aplicao de habilidades tcnicas. Engenheiros de software devem se comportar de uma maneira honesta e eticamente responsvel para serem respeitados como profissionais. Comportamento tico mais do que simplesmente agir em concordncia com a lei, envolve seguir um conjunto de princpios moralmente corretos.
Cdigo de tica
As sociedades profissionais nos EUA tm cooperado para produzir um cdigo de conduta tica. Membros destas organizaes se comprometem com o cdigo de tica quando entram nelas. Cdigo tica brasileiro ???
Prncipios ticos
Em conformidade com seu comprometimento com a sade, a segurana e o bem-estar pblicos, engenheiros de software devem aderir a oito princpios: 1. PBLICO Engenheiros de software devem agir de acordo com o interesse pblico. 2. CLIENTE E EMPREGADOR Engenheiros de software devem agir de maneira que seja do melhor interesse de seu cliente e empregador e de acordo com o interesse pblico. 3. PRODUTO Engenheiros de software devem garantir que seus produtos e modificaes relacionadas atendam aos mais altos padres profissionais possveis. 4. JULGAMENTO Engenheiros de software devem manter a integridade e a independncia em seu julgamento profissional.
6.
7.
8.
Dilemas ticos
Desacordo, em princpio, com as polticas da gerncia snior. Seu empregador age de forma antitica e libera um sistema crtico de segurana sem terminar os testes do sistema. Participao no desenvolvimento de sistemas de armas militares ou sistemas nucleares.
Pontos Importantes
Engenheiros de software tm responsabilidades para com a profisso de engenharia e a sociedade. Eles no deveriam simplesmente se preocupar com questes tcnicas. Sociedades profissionais publicam cdigos de conduta que estabelecem os padres de comportamento esperado de seus membros.
Atividade
30
Atividade
Formar grupos com 4 componentes e discutir; - Os profissionais da Tecnologia da Informao deveriam fazer uma prova (certificao) para obter o grau assim como os advogados e mdicos? Quais as vantagens e desvantagens? - No intuito de combater o terrorismo, h pases que planejam desenvolver, esto desenvolvendo, ou j desenvolveram, sistemas computacionais que rastreiam informaes de cidados, bem como as aes destes. Certamente isso implica em questes de privacidade. Discutam a tica de se trabalhar desenvolvendo esse tipo de sistema.
Agradeo a ateno!
CLAUDIA.MESQUITA@UDF.EDU.BR