Engenharia de Software
Modelos de Design de SoftwareDesign Socialmente Consciente
Roberto Pereira Departamento de Informática | UFPR
CI163 – Projeto de Software
Informal
Formal
Engenharia de Software
2
Engenharia de Software
3
“Engenharia de Software é uma disciplina cujo foco está em todos os aspectos da produção de software, desde os estágios iniciais da especificação até sua manutenção, quando o sistema já está sendo usado.” (Sommerville (9ª Edição, 2011)
Disciplina de Engenharia: engenheiros fazem as coisas funcionarem. Eles aplicam teorias, métodos e ferramentas onde for apropriado. No entanto, eles os usam seletivamente e sempre tentam descobrir soluções para os problemas, mesmo quando não há teorias e métodos aplicáveis. Os engenheiros também reconhecem que devem trabalhar de acordo com as restrições organizacionais e financeiras, então buscam soluções dentro dessas restrições.
Todos os aspectos da produção de software: a engenharia de software não se preocupa apenas com os processos técnicos do desenvolvimento do software. Ela também inclui atividades como o gerenciamento de projeto de software e desenvolvimento de ferramentas, métodos e teorias para apoiar a produção de software
Engenharia de Software
4
Sommerville (9ª Edição, 2011)
“O software nos permitiu explorar o espaço e criar a WWW, o mais importante sistema de informação na história da humanidade.
Enfrentamos agora um novo conjunto de desafios: mudança climática e tempo extremo, diminuição de recursos naturais, uma população mundial que não para de crescer e precisa ser alimentada e abrigada, terrorismo internacional, a necessidade de ajudar pessoas idosas a terem uma vida satisfatória e com mais qualidade. Precisamos de novas tecnologias para nos ajudar a resolver esses problemas, e o software certamente terá um papel fundamental nessas tecnologias.”
“A Engenharia de Software é, portanto, uma tecnologia de importância crítica para o futuro da humanidade.”
Processos de Software
5
Processos de Software são: Conjuntos de atividades
coerentes para especificar, projetar, implementar e testar
sistemas de software
Um modelo de processo de software é uma representação
abstrata de um processo; apresenta uma descrição de um
processo de alguma perspectiva particular
Cascata\Clássico
Espiral
Estrela
Iterativo e Incremental
Iterativo e Incremental
Prototipação
Scrum
12 Main Roles: Product owner Development team Scrum masterScrum (Método Ágil)
13
Valores da Filosofia Ágil:
• Indivíduos e interações mais que processos e ferramentas; • Software funcional mais que documentação abrangente; • Colaboração do cliente mais que negociação de contratos; • Responder a mudanças mais que seguir um plano
Scrum (Método Ágil)
14
Valores da Filosofia Ágil:
• Indivíduos e interações mais que processos e ferramentas; • Software funcional mais que documentação abrangente; • Colaboração do cliente mais que negociação de contratos; • Responder a mudanças mais que seguir um plano
Ambiente ideal para o desenvolvimento ágil:
Baixa criticidade
Desenvolvedores sêniores
Mudanças frequente de requisitos Pequeno número de
desenvolvedores
Cultura que tem sucesso no caos.
Ambiente ideal para o
desenvolvimento direcionado ao planejamento:
Alta criticidade
Desenvolvedores Juniors
Baixa mudança nos requisitos
Grande número de desenvolvedores Cultura que procura a ordem.
Algumas notícias
15 questões éticas efeitos emocionais aspectos formais e normativos questões técnicasPontos-Chave
16
Entender o problema antes de propor e desenvolver uma solução Entender as pessoas antes das tarefas a serem automatizadas Três perguntas-chave: O quê? Por quê? Como?
Quatro fases macro (Análise, Projeto, Desenvolvimento, Testes) são um “core”
Começa com o Entendimento Continua com a entrega e uso
Termina com a substituição do produto Responsabilidade ética (moral, legal)
Contexto situado:
software não é isolado
Interface e Interação não são uma “casca” Usuário vs. Parte interessada
Visão sistêmica (pesquisa e prática)
17
Informal Formal Technical
A tríade principal (Hall E. T., 1959, the Silent Language)
Cultura, Valores, Hábitos, Padrões de comportamento, Intenções, Preferências, etc. Leis, Normas, regras, Procedimentos, Modelos, Formalizações, etc.
Regras que podem ser expressadas/executadas de modo técnico,
Recursos automatizados Ferramentas
Mundo social
Visão sistêmica
18 Formal Informal TécnicoInformal Formal Technical
A tríade principal (Hall E. T., 1959, the Silent Language)
Semiótica Organizacional
(Stamper, R., 1998, Extending Semiotics for the Study of Information. Semiotics and Information Sciences)
Cenário comum
Processos centrados em suas regras e soluções técnicas Pouca atenção ao informal Entendimento limitado
(problema, soluções, partes interessadas)
Socially Aware Computing: meta-modelo
19
Contexto social
(Baranauskas, 2009; Baranauskas e Bonacin, 2008). Como entender o processo de construção de software.
20 Meta-model for a Socially Aware Design
Analysis Synthesis Evaluation
A
rt
if
ac
ts EF– Evaluation Frame;
SID – Stakeholder Identification Diagram;
VIF– Value Identification Frame;
OC – Ontology Charts; SF – Semiotic Framework; UML diagrams;
CARF– Culturally Aware
Requirements Framework
eValue;
Template for Nielsen’s Heuristics; SAM – Self Assessment Manekin;
T ec h n iqu es Brainstorming;
PAM – Problem Articulation Method; StoryTelling;
Brain Draw; BrainWritting; Design Patterns;
NAM – Norm Analysis Method; SAM – Semantic Analysis Method;
Heuristic Inspection; Accessibility Evaluation; GOMS method; Laws of Simplicity; T o o
ls Cards, sheet, pencil, pen, eraser;
Tag Clouds;
Text editors, Spreadsheets;
Cacoo Collaborative Prototypes and Diagrams; CogTool (modeling); DIA diagrams; A-Checker; CogTool (KLM-GOMS); Compendium rationale; WARAU;
UNICAMP
Exemplos
Aplicação TVDi para o programa “Terra da Gente”
Rede Social para Professores da Educação Especial Inclusiva
22
TNR – Todos Nós em Rede
Projeto para promover a formação continuada de professores do Atendimento Educacional Especializado.
Oferecer aos professores um ambiente para:
a) Busca por expertise para resolver os problemas de suas práticas profissionais diáras
b) Compartilhar ideias e informação sobre casos de sucesso e casos não resolvidos
c) Estabelecer uma dinâmica continuada de estudos e formação mediada pelas TICs
Participantes (1º estágio)
28 professores
5 Pesquisadores da Educação
Sistema TNR
24
TNR – Todos Nós em Rede
Atividades à Distância Workshops Participativos Pesquisadores, Analistas Pesquisadores, Analistas Atividades no sistema Pesquisadores, AnalistasSistema TNR
Estudo de Caso -TNR: Resultados
26 Consentimento Informado:
Privacidade, Segurança
Estudo de Caso - TNR: Resultados
27
Página inicial do Sistema TNR Valores no sistema TNR
UNICAMP
Exemplos
Aplicação TVDi para o programa “Terra da Gente”
29
iDTV: design dentro da emissora
• Objetivo: Criar a primeira aplicação para o Programa Terra da Gente
• Onde: dentro da emissora EPTV (afiliada da Rede Globo)
• Duração: 4 Workshops de aproximadamente 3 horas cada
• Participantes:
– Mais de 7 participantes com papéis diferentes na EPTV
• Editor chefe, Designer, Gerente de Engenharia, Produtor, Estagiário...
• Nenhum possuía experiência prévia com aplicações para TV Digital Interativa
– 3 pesquisadores em IHC
Identifying Stakeholders
Discussing Problems and Solutions
TÉCNICO INFORMAL FORMAL Aplicações iDTV Design
Design na prática...
Design Socialmente Consciente na EPTV
Sociedade TÉCNICO INFORMAL FORMAL Framework Semiótico Prototipação Protótipos Diagrama de Partes Interessadas Quadro de Avaliação Avaliação Outras atividades
31
iDTV: design dentro da emissora
• Análise de Stakeholders • Identificação, clarificação do problema Workshop 1 Clarificando o Problema • Identificação de Requisitos • Cartões de Padrões Participativo • Brainwriting • Pattern-guided Braindrawing • Avaliação participativa situada • Resultado da Avaliação com usuários Workshop 2 Propondo Soluções Workshop 3 Prototipando Workshop 4 Avaliando
Protótipos
(EPTV)
34
iDTV: designing app in a TV company
Simple layout
“Provide least possible
impact on TV content”
Application Features and Remote Control Map
“Clearly show the application features and relate them to the
remote control’s buttons”
Application Pages
“The application must
challenge and encourage users to interact (motivation should be associated with the
35
Referências
36
Baranauskas, M. Cecilia C. "Socially aware computing." ICECE 2009 VI International Conference on Engineering and Computer Education. 2009.
Baranauskas, M. Cecilia C., and Rodrigo Bonacin. "De sign-Indicating Through Signs." Design Issues 24.3 (2008): 30-45.
Hall, Edward Twitchell. The silent language. Vol. 3. New York: Doubleday, 1959. Liu, Kecheng. Semiotics in information systems engineering. Cambridge University Press, 2000.
Rocha, Heloísa Vieira da, e Maria Cecília Calani Baranauskas. Design e avaliação de interfaces humano-computador. Unicamp, 2003.
Stamper, Ronald, et al. "Understanding the roles of signs and norms in organizations-a semiotic approach to information systems design." Behaviour & Information