Post has attachment
Aparentemente nos últimos meses muitas trabalhos e plataformas em IA estão vindo a público para testes e desenvolvimento, alguém daqui já trabalhou com IA?

Quais os desafios e melhores práticas para projetar sistemas inteligentes ?

Então, senhores(as).

O primeiro post como certo gostaria de iniciar com o próprio conceito de Engenharia de Software, acredito que há diversos materiais e escolhi um que pode dividir opiniões justamente para chegarmos uma boa base de reflexão.

Foi escrito por Danilo Cardilli ( se alguém souber seu perfil no plus, por favor avisar para linkar aqui. ) para o site: DevMedia ( www.devmedia.com.br ).

Link do texto original: http://www.devmedia.com.br/conceitos-de-software-e-engenharia-de-software/15730

Gostaria que compatilhassemos nossas visões e o que concordamos ou discordamos no texto, ou ainda o que podemos acrescentar.

Todos os direitos reservados do texto se reservam ao autor e o site citado.

Segue abaixo na integra:

--------------------

Introdução

Ao passar do tempo, ninguém imaginava que o software tornaria um elemento muito importante para o mundo e teria a capacidade de manipular a informação. Com muitos elementos computacionais tiveram mudanças até hoje e continuam tendo. Com este crescimento computacional, levam a criação de sistemas perfeitos e problemas para quem desenvolvem softwares complexos. As preocupações dos engenheiros de software para desenvolverem os software sem defeitos e entregarem estes produtos no tempo marcado, assim leva a aplicação da disciplina de engenharia de software. Com o crescimento desse segmento muitas empresas possuem mais especialistas em TI em que cada um tem sua responsabilidade no desenvolvimento de software e é diferente de antigamente que era um único profissional de software que trabalhava sozinho numa sala (PRESSMAN, 2006).



Software

O software é o conjunto de vários artefatos e não apenas o código fonte (SOMMERVILLE, 2003).

Realizando uma comparação entre o software e hardware. Chegamos a seguinte conclusão. O software apenas pode ser desenvolvido e realizar a manutenção (mudança) no software é uma tarefa complicada, exige grande esforço da equipe de engenheiro de software. Ao passar do tempo o software fica deteriorado. Já para o hardware apenas pode ser fabricado e realizar a manutenção no hardware é simplesmente trocar à peça que esta em desgaste. Ao passar do tempo o hardware desgasta por vários motivos (PRESSMAN, 2006).

O software é caro porque torna se uma atividade difícil e trabalhosa de ser realizado pelo engenheiro de software (JALOTE, 2005).

De acordo Pressman (2006) o software estão categorizados em seguintes tipos, tais como:

Software de sistema. São programas que apóiam outros programas, como o software que realiza a comunicação com o hardware (sistema operacional) e software que ajuda na construção de outro software (compiladores).



Software de aplicação. São programas que são desenvolvidos para executar no negocio de uma empresa determinada.



Software cientifico e de engenharia. São algoritmos que processam números.



Software embutido. São programas construídos para executarem dentro de um produto especifico como a teclas digitais de um forno micro ondas.



Software para linhas de produtos. São os softwares conhecidos como software de prateleiras.



Software de web. São aplicativos que são executados via Internet.



Software de inteligência artificial. São softwares que fazem os usos de algoritmos não numéricos. Estes tipos software se encaixam na robótica.



Computação ubíqua. São softwares que realiza a verdadeira computação distribuída.

Software aberto. São software que disponibiliza a visualização do código fonte da aplicação para o engenheiro de software modifica da maneira que deseja.

Software Legado

O nome de software legado é dado quando refere se num programa de computador que foi desenvolvido por há muito tempo. A preocupação do engenheiro de software com os softwares legados esta na baixa qualidade do software. Muitas vezes não existem documentações e se existem são pobres de detalhes, os casos de teste são pobres quando tem e sem um controle de mudanças. E muitas vezes não mexem no software legado quando eles atentem as necessidades do cliente (PRESSMAN, 2006).



Engenharia de Software

Engenharia de software é uma abordagem sistemática e disciplinada para o desenvolvimento de software (PRESSMAN, 2006).

Uma das grandes dificuldades da engenharia do software é resolver o problema e deixar o cliente satisfeito com o software (JALOTE, 2005).

Na demonstração da figura 1 representa uma visão do engenheiro de software em desenvolver o software que traz uma grande satisfação para o usuário quando ele próprio utiliza o software.

A engenharia de software foca no software como produto. Não entra neste escopo o softwares construídos apenas para passarem o tempo dos programadores (PAULA FILHO, 2009).

No desenvolvimento de um projeto de software quanto mais complexo é o software, maior é o empenho que o engenheiro de software deve fazer para desenvolver e tem que ter maior gerenciamento (JALOTE, 2005).

Na demonstração da figura 2 representa uma comparação entre projetos de software grande e pequeno. Verificar que quanto maior é a complexidade do software mais atenção deve ter para a construção do software.

A base da engenharia de software são conjuntos de atividades para o processo de desenvolvimento de software. A existência de vários tipos de processo de desenvolvimento de software e podemos dizer para resolver o problema do software usam estas atividades tais como: analise de requisito, design do software, código e teste (JALOTE, 2005).



Analise de requisito. Através da analise de requisito é o momento onde efetua o conhecimento do problema para desenvolve o software (JALOTE, 2005).



Design do software. Pelo design do software é o momento que o engenheiro de software realiza o planejamento da solução do problema que foi levantado no documento de requisito (JALOTE, 2005).



Codificação. A codificação é o momento que pega o problema resolvido no design do software e transformará em uma linguagem de programação (JALOTE, 2005).



Teste. O teste de software é o processo tem a intenção de encontrar defeitos nos artefatos de software (MYERS, 2004). O teste é uma maneira de medir o controle da qualidade do software durante o desenvolvimento de software (JALOTE, 2005).



Figura 1– Problema básico (JALOTE, 2005).



Figura 2– Escala de projeto de software (JALOTE, 2005).



Mito do Software

Existem inúmeros mitos de software que pode ver um deles escrito à segu:

Mito 1. Se ocorrer um atraso no cronograma do projeto adicionamos um maior números de programadores no projeto para conseguir fica em dia com as tarefas (BROOKS, 1995).


Conclusão

Com a aplicação da engenharia de software no desenvolvimento do software traz uma certa qualidade para o software que foi produzido onde divide o problema em pedaços e são tratados por vários especialistas em determinada atividade.


Referencias

BROOKS, Jr., F.P. The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition. Reading, MA: Addison-Wesley, 1995, 322p.

JALOTE, P. An Integrated Approach to Software Engineering. 3. ed. New York: Springer, 2005, 566p.

MYERS, G. J. The Art of Software Testing. 2. ed., New York: John Wiley & Sons, 2004, 234p.

PAULA FILHO, W.P. Engenharia de software: fundamentos, métodos e padrões. 3. ed. Rio de Janeiro: LTC,2009, 1248p.

PRESSMAN, R. S. Engenharia de Software. 6. ed. Rio de Janeiro: McGraw-Hill, 2006, 720p.

SOMMERVILLE, I. Engenharia de software. 6. ed., São Paulo: Addison Wesley, 2003, 592p.

Leia mais em: Conceitos de Software e Engenharia de Software http://www.devmedia.com.br/conceitos-de-software-e-engenharia-de-software/15730#ixzz43Ua1CP5z

Olá pessoal,

O que iremos discutir? =]

Post has attachment
Repassando aqui o recado de Victor Silva:

Eai pessoal de Fortaleza, já ficaram sabendo que o HACKATRUCK está na cidade de vocês? Um caminhão itinerante da IBM, FLEX em colaboração da APPLE que se transforma em uma sala tecnológica de 72m² com impressora 3D, óculos de realidade aumentada e muito mais. Venha nos visitar este sábado no campus da UNIFOR e traga os amigos e familiares, a partir da semana que vem teremos palestras abertas ao público, fique ligado na programação nas nossas redes sociais. BORAA!!

Post has attachment
Olá Pessoal,



Gostaria de divulgar uma vaga em aberto para trabalhar em um projeto Python no Instituto Atlântico.



Estamos procurando desenvolvedores com experiência mínima de 1 ano com a tecnologia (fora acadêmica).



Requisitos:



· Python

· Git

· Ter boa comunicação

· Inglês



É um projeto bem interessante que usa realmente os princípios e práticas ágeis mais comuns do mercado. Nós fazemos programação em par, reuniões diárias e restrospectivas.



Nosso fluxo de desenvolvimento é o Feature Branch, ou seja, para cada nova funcionalidade/bug será criado um novo branch, para que possa ser enviado um Pull Request no Github, onde outros membros da equipe possam revisar antes de mergear.



Você vai ter a oportunidade de trabalhar em um time distribuido, nós somos compostos de 2 equipes uma aqui em Fortaleza e outra em Porto Alegre. Para manter o time sincronizado usamos o Hipchat e o Hangouts para reuniões diárias e retrospectivas.



Quanto aos benefícios é o de praxe, plano de saúde para você e sua familia, tem uma previdêcia privada muito vantajosa, e o vale alimentação/refeição que acho que deve ser um dos maiores de Fortaleza.



Nossa equipe é alinhada e sempre buscando o melhor.



Ambiente leve e descontraido, com horário flexível e vestimentas a vontade, pode vir trabalhar de bermuda se quiser.



Quem tiver interesse, enviar currículo para romildo_lima@atlantico.com.br

Post has attachment
Senhores(as),

Segue o link para submissão de apresentações para palestras no XI Pylestras que ocorrerá de acordo com o anunciado abaixo:



O grupo de usuários Python do Ceará(PugCE), em iniciativa de promover a linguagem de programação Python no Ceará promove o XI Pylestras.



Data e hora: 09/04/2016 - 8:30

Local: Universidade Federal do Ceará

Wait while more posts are being loaded