400 likes | 493 Views
Modelagem de Software. Introdução , Definições , SWEBOK. Sobre o curso. Prof. Dr. Michel Soares Contato: michel@facom.ufu.br - Sala 1B131 Terças-feiras : 10:40 as 12:20 Quintas-feiras : 8:50 as 10:40 Horário de atendimento extra-classe: Terças-feiras : 15:00 as 17:00.
E N D
Modelagem de Software Introdução, Definições, SWEBOK
Sobre o curso • Prof. Dr. Michel Soares • Contato: michel@facom.ufu.br - Sala 1B131 • Terças-feiras: 10:40 as 12:20 • Quintas-feiras: 8:50 as 10:40 • Horário de atendimento extra-classe: • Terças-feiras: 15:00 as 17:00
Falhas de Software • SOFTWARE HORROR STORIES: http://www.cs.tau.ac.il/~nachumd/verify/horror.html • History'sWorst Software Bugs: http://www.wired.com/software/coolapps/news/2005/11/69355?currentPage=1
Complexidade do software • 1993: Windows NT 3.1 - 6 million • 1994: Windows NT 3.5 - 10 million • 1996: Windows NT 4.0 - 16 million • 2000: Windows 2000 - 29 million • 2002: Windows XP - 40 million • 2007: Windows Vista - ~50 million
Como resolver? Testes? • Teste exaustivo é impossível • 100 LOCs com alguns caminhos e um único loop executando menos de 20 vezes gera 10 elevado a 14 caminhos de execução. • Testar todos os 100 trilhões de caminhos, assumindo que cada será avaliado em 1 mili-segundo, levará 3170 anos
SurgimentodaEngenharia de Software • Crise do software • Conferências NATO (1968 e 1969)
Crise do software • The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem. • — EdsgerDijkstra, The Humble Programmer (EWD340), Communications of the ACM
Crise do software • Projetoscustandomaisque o previsto • Projetosdemorandomais tempo que o previsto • Software ineficiente • Software de baixaqualidade • Software nãoatingiatodososrequisitos • Projetosdifíceis de gerenciar • Códigodifícil de manter • Software quenuncaterminava
Conferências NATO • 1968 - The Conference was attended by more than fifty people, from eleven different countries, all concerned professionally with software, either as users, manufacturers, or teachers at universities. • 1969 - The conference was intended as a direct sequel to the NATO conference on software engineering held at Garmisch, Germany, from 7th to 11th October 1968. About sixty people from eleven countries attended the meeting.
NATO ? • The North Atlantic Treaty Organization or NATO (Organisation du traité de l'Atlantique Nord (OTAN)), also called the (North) Atlantic Alliance, is an intergovernmentalmilitary alliance based on the North Atlantic Treaty which was signed on 4 April 1949.
Definições • Software engineering is the application of a systematic, disciplined, quantifiable approach to development, operation, and maintenance of software; that is, the application of engineering to software (IEEE).
Definições • Establishment and use of sound engineering principles to obtain economically software that is reliable and works on real machines efficiently. (Fritz Bauer)
O queEngenharia de Software não é? • Apenasprogramação • Engenharia de sistemas
Maioresempresas de software • 1 Microsoft 54,270 10.6% • 2 IBM 22,485 5.1% • 3 Oracle 20,958 12.8% • 4 SAP 12,558 10.5% • 5 Ericsson 7,274 -4.2% • 6 HP 6,669 7.9% • 7 Symantec 5,636 1.3% • 8 Nintendo 5,456 -19.8% • 9 Activision 4,447 3.9% • 10 EMC 4,356 10.0%
Foco do Curso • Princípios de Modelagem de Software • Linguagens de Modelagem • Formais • Semi-formais
Formato do curso • Aulasexpositivas • Visãogeral • Nivelamento • Introduçãoaotema • Leitura de artigos • Clássicos • Novos e relevantes • Resumo de artigos (1 página) • Discussãoemsala dos artigos lidos
Avaliação • Resumos dos artigos (20%) • Projeto de modelagem (20%) • Artigo (20%) • Prova (40%) • Todo o conteúdo, incluindotodososartigos
Resumos dos artigos • Entregarem PDF nasala de aula • Nãoserãoaceitasentregas: • Por email • Impressas • Atrasadas • 1 únicapáginaparaartigos de até 10 páginas, 2 páginasparaartigosmaioresque 10 páginas • Para facilitar, cadasemana um alunoficaresponsávelpelacoleta dos resumos • 1 semana de prazo / entregassemanais de resumos • Discussãoemsala de aula • Formato: Nome do Aluno – Art N.PDF • Ex. MichelSoares – Art1. PDF
Políticasobre o plágio • Plágionãoserátolerado • O trabalhorelativoserázerado • Cópias de alunostambémserãozeradas (todostrabalhosiguaisserãozerados, independente de quem fez/copiou)
Projeto de Modelagem • Sobrealgum software/lista de requisitos, usandoalgumalinguagem de modelagem, exceto UML, DFDs, ER e outras • Feitoemduplas • Converse com o professor sobretemas / linguagens • Pode ser requisitosjámodeladosemalgumalinguagem • Definição de temas: até 05/04
Temas para projeto • Exs.: • HealthWatcher • RainSensingWiper system (Balmelli) • ARENA • Requisitos encontrados na literatura, já modelados (ou a serem modelados) • Não usar requisitos particulares • Conversar com o professor para definir os temas • Avaliaçãoiráconsiderardificuldade do projeto
Possíveis Linguagens • Redes de Petri Coloridas • Z • B • SysML • SDL • Modelica • Álgebra de processos (CCS, ACP, CSP) • Statecharts • Alloy • Outras…
Artigo • 6 páginas • Formato IEEE • Data de apresentação a ser marcada • Data de entrega a ser determinada (data únicaparatodos) • Assunto: projetomodelado
Seminários • 30 minutos • Datas a serem determinadas • Ordem por sorteio no dia • Apresentação do projeto/artigo
Prova final • Individual • Consultaaosartigos e resumosserápermitida
Presençaemsala de aula • Seráobrigatória • Alunos com mais de 25% de faltasserãoreprovados (Conceito final E) • Chamadasapenas no inícioda aula • Discussões dos artigossãofundamentaisparaentendimento e aprendizado • Mestrado/Doutorado vs. Graduação • Não é um cursobásico de modelagem
Leitura • Art1 – Boehm, B. A View of 20th and 21st Century Software Engineering. • Art2 – Brooks, F. No Silver Bullet: Essence and Accidents of Software Engineering. • Art3 – Cowling, A.J. The role of modelling in the software engineering curriculum. • Art4 – Berry, D. The Inevitable Pain of Software Development: Why There Is No Silver Bullet