Você está na página 1de 45

Modelagem de Sistemas

Aula 1.1 - Do que trata a modelagem de sistemas? mais barato mudar na planta, do que depois do prdio feito.
Sabedoria Popular

Figura 01

Objetivos:
Entender o que : Engenharia de Software; Engenharia de Sistemas; Modelagem de Software;

O que um software?

Software no apenas um programa de


computador, mas tambm toda a documentao associada (manuais e especificaes) e os dados de configurao necessrios para fazer com que esses programas operem corretamente. Ian Sommerville

Caractersticas dos softwares

Desenvolvido ou projetado por engenharia, no manufaturado no sentido clssico No se desgasta mas se deteriora Se regras do mundo real mudam o software deve acompanhar essas mudanas sob pena de no ser mais usado. Assim, nesse contexto, pode se deteriorar
4

Caractersticas dos softwares

A maioria feita sob medida em vez de ser montada a partir de componentes existentes. Um bom software deve ser coeso de fcil uso e robusto Coeso: fazer aquilo a que se destina e nada mais; Facilidade de uso: alm de ser intuitivo, deve prover mecanismos de ajuda, bem como facilidades de manuteno;
5

Caractersticas de um software
Um bom software deve ser coeso de fcil uso e robusto Robustez: continuar funcionando mesmo em situaes inesperadas. Software um elemento lgico e no fsico, assim totalmente intangvel. O simples fato de olhar a tela de um software no nos d subsdios para mensurar o grau de complexidade desse software. O site de busca do Google tem apenas dois botes, mas sua lgica de construo e funcionamento muito difcil de ser mensurada.

Qual o software mais complexo?

Figura 02

Figura 03

Tipos de produtos de software

Os engenheiros de software se ocupam de desenvolver produtos de software, isto , software que possa ser vendido a um cliente. H dois tipos de produtos de software: Produtos genricos - pacotes de software Produtos sob encomenda - personalizados

Tipos de produtos de software

Produtos genricos So sistemas do tipo stand-alone, produzidos por uma organizao de desenvolvimento e vendidos no mercado a qualquer cliente capaz de adquiri-los. Algumas vezes, referimo-nos a eles como pacotes de software. Dentre os exemplos desse tipo de produto esto os bancos de dados, os processadores de texto, os pacotes de desenho e as ferramentas de gerenciamento de projetos.
9

Tipos de produtos de software

Produtos sob encomenda (ou personalizados) So os sistemas encomendados por um cliente em particular. O software desenvolvido especialmente para aquele cliente por uma empresa de software. Dentre os exemplos desse tipo de software destacam-se os sistemas de controle para dispositivos eletrnicos, sistemas escritos para serem compatveis com um processo de negcios especifico e sistemas de controle de trfego areo. 10

Tipos de produtos de software

Figura 04 Software sob encomenda.

Figura 05 Softwares Genricos.


11

Especificao de Software

Uma diferena importante entre esses diversos tipos de software que, nos produtos genricos, a organizao que desenvolve o software controla sua especificao. Para os produtos personalizados, a especificao usualmente desenvolvida e controlada pela organizao que est comprando o software. Os desenvolvedores de software devem trabalhar de acordo com essa especificao.
12

Especificao de Software

Note que a palavra especificao foi destacada 3 vezes no slide anterior. A especificao de software vai desde a simples descrio de requisitos at a construo de modelos que aproximam o desenvolvimento e manuteno de software do mundo real. O uso de modelos nas diversas reas da engenharia sempre foi fundamental para o desenvolvimento de bons produtos.
13

Especificao de Software

Os modelos permitem uma viso antecipada do produto a ser desenvolvido e permitem anlise e avaliao prvias, antes mesmo dos produtos serem construdos. A modelagem de software uma atividades fundamental para fazer do desenvolvimento de software uma atividade de engenharia. Durante o processo de modelagem deve-se primar pela boa documentao para evitar modelos inconsistentes.
14

Especificao de Software

Figura 06 Modelos para um simples balanador.

15

Engenharia de Software

Vimos que modelagem um dos itens aplicados a engenharia, mas o que Engenharia de Software? Engenharia de software uma disciplina da engenharia que se ocupa de todos os spectos da produo de software. Desde os estgios iniciais de especificao do sistema at a manuteno desse sistema.

16

Engenharia de Software

Repare que a Engenharia de Software se preocupa com todos os aspectos da produo de software A engenharia de software no se dedica s aos processos tcnicos de desenvolvimento de software, mas tambm a atividades como o gerenciamento de projetos de software e o desenvolvimento de ferramentas, mtodos e teorias que dem apoio produo de software.
17

Engenharia de Sistemas

Qual a diferena entre engenharia de software e engenharia de sistemas? A engenharia de sistemas se ocupa de todos os aspectos relacionado ao desenvolvimento de sistemas com base em computadores e inclui hardware, software e engenharia de processos. A engennana de software parte desse processo.

18

Encerrando...
Esse curso trata da sistemas com foco na software. Dessa forma, ele uma das disciplinas da software. modelagem de modelagem de abrange apenas engenharia de

19

Refer

i r - tt :// . l et ri . fr s. r/ r itet . t l i r - tt :// . le. . r/ i r - tt s:// .s ri . . r/C st erI fo. s i r oft re de i osto de renda 2010 Fi ra 05 rodutos i rosoft Fi ura 06 tt ://engenhariasoft are. ordpress. om/ 2010/04/06/engenharia-de-requisitos/

i s

r fi

r s:

Referncias Bi liogrficas: O RVILL , I. ngenharia de Soft are 6 So Paulo: Pearson, 2004 p. 4- 4.

d.

20

Modelagem de Sistemas
Aula 1.2 O que os sistemas devem fazer? O sistema deve permitir que os alunos escolham as disciplinas para as quais desejam se matricular.
Requisito funcional

O sistema deve permitir at 1.000 acessos simultneos.


Requisito no funcional

Objetivos:
Introduo aos conceitos de requisitos do usurio e do sistema Descrio de requisitos funcional e no-funcional Explicao de tcnicas para descrio dos requisitos do sistema

22

Objetivos:
Explicao de como os requisitos de software podem ser organizados em documento Introduo a tcnicas de elicitao (levantamento) e anlise de requisitos

23

O que so requisitos
Um requisito descreve uma condio ou capacidade que o sistema deve estar em conformidade (Unified Process); Um requisito descreve uma funcionalidade ou uma restrio de um sistema.
24

O que so requisitos
Pode ser derivado das necessidades dos usurios, ou estabelecido em um contrato, padro, especificao ou outro documento imposto formalmente Pode estar explcito ou implcito
25

Tipos de requisitos
Funcionais
Descrevem a funcionalidade ou servio do sistema

No Funcionais
Como o nome sugere, so aqueles que no dizem respeito diretamente as funes especficas do sistema. Esto ligados a propriedades dos sistemas: confiabilidade, desempenho, portabilidade, etc.

26

Exemplos de requisitos funcionais


Requisito funcional do usurio
O professor deve ter acesso a todas as informaes acadmicas do aluno. Entretanto, no pode ter acesso aos dados pessoais classificados como restritos a coordenao.

Requisito funcional do sistema


Realizar o cadastro dos alunos do colgio utilizando a classe Aluno. Criar no sistema de controle de acesso os perfis de Professor e Coordenador e separar os dados dos alunos para os quais cada um dos perfis tem permisso de acesso.

27

Exemplos de requisitos no funcionais


Requisitos de produto Requisitos que especificam que o produto entregue tem que se comportar de um modo particular. Por exemplo, velocidade de execuo, confiabilidade, etc. Requisitos organizacionais Requisitos que so uma conseqncia de polticas e procedimentos organizacionais. Por exemplo, padres de processos usados, requisitos de implementao, etc.

28

Exemplos de requisitos no funcionais


Requisitos externos Requisitos que surgem de fatores que so externos ao sistema e ao seu processo de desenvolvimento. Por exemplo, exigncias de interoperabilidade, requisitos legislativos, etc.

29

Requisitos funcionais
O QUE Funcionalidade

Requisitos no funcionais
CARACTERSTICAS Confiabilidade Usabilidade

Figura 07 Requisitos funcionais e no funcionais

Eficincia Manutenibilidade Portabilidade

30

Impreciso dos requisitos


Declarao deve ser precisa Requisitos ambguos podem ser interpretados de forma diferente por pessoas diferentes (exemplo: desenvolvedores e clientes) Considere o termo visualizadores apropriados Inteno do usurio - visualizadores de contedo contendo texto e grficos analticos Interpretao do desenvolvedor - um visualizador que mostra apenas o contedo textual do contedo
31

Interao entre requisitos


Conflitos entre requisitos diferentes so comuns em sistemas complexos Exemplo: em um sistema de matrcula de alunos
Para melhorar a usabilidade o sistema deve informar ao aluno todas as disciplinas que ele pode cursar e seu histrico (disciplinas cursadas) Para melhorar a performance o sistema deve simplificar ao mximo operaes com grande nmero de acesso simultneo. Contudo, melhorar a usabilidade no caso da matrcula faz muitas operaes custosas no banco de dados o que prejudica o desempenho. Qual o requisito mais importante?
32

Especificao de requisitos em linguagem natural (portugus)


Falta de clareza rduo obter preciso sem tornar o documento difcil para leitura Confuso de requisitos Requisitos funcionais e no funcionais tendem a ser misturados Fuso de requisitos Vrios requisitos diferentes podem ser expressos juntos
33

Especificao de requisitos em linguagem natural (portugus)


Ambigidade Os leitores e escritores do requisito devem interpretar as mesmas palavras da mesma forma Linguagem natural inerentemente ambgua, o que torna o seu uso muito difcil

34

Especificao de requisitos em linguagem natural (portugus)


Ambigidade Os leitores e escritores do requisito devem interpretar as mesmas palavras da mesma forma Linguagem natural inerentemente ambgua, o que torna o seu uso muito difcil CONCLUSO: NECESSIDADE DE UMA NOTAO MAIS APROPRIADA COM IDENTIFICAO NICA.
35

Documento de requisitos
O documento de requisitos a documentao oficial do que requerido dos desenvolvedores do sistema Procura definir o padro de escrita para evitar ambiguidades refinado na medida que o desenvolvimento evolui:
Inicialmente: deve definir O QUE o sistema deve fazer e no COMO Posteriormente: pode trazer detalhes do COMO deve ser implementado
36

Documento de requisitos
usado em todo o processo de desenvolvimento de software para garantir a conformidade Consiste Basicamente de um conjunto de descrio de requisitos que obedea a um padro. No prximo slide apresentamos um padro de requisito que pode ser utilizado em projetos desenvolvimento de software

37

Documento de requisitos Exemplo de descrio de requisito


RF001 - Informar fornecedores sobre editais Descrio: O sistema de prego eletrnico deve informar aos fornecedores a abertura de editais para novas licitaes. Fornecedor de Requisito: Sr. Fulando de Tal (Setor de compras) Por que: Fornecedores devem ter conhecimento da realizao de licitaes, sendo vantajosa a ocorrncia de licitaes com o grande nmero de fornecedores (licitantes). Como: por meio de e-mail e notcia em pgina especfica do site do governo do estado. Quando: Toda vez que for lanado um novo edital. Onde: No sistema de prego eletrnico. Quem: O prprio sistema de prego dever enviar os e-mails, inclusive para os responsveis por publicaes nos sites do governo do estado.
38

Documento de requisitos Exemplo de descrio de requisito


Requisitos numerados podem ser identificados unicamente (RF001) A descrio clara do requisito o item principal do processo de documentao do requisito (Descrio) importante saber quem forneceu o requisito para fazer adequaes futuras ou negociar conflitos de requisitos propostos por futuros usurio do sistema (Fornecedor de Requisito) O porqu do requisito pode justificar realmente a necessidade do mesmo (Por que) O como facilita o processo de mensurar a complexidade do requisito. Muitas vezes este item no pode ser respondido durante a fase de levantamento de requisitos e pode ser recomendado que o seu preenchimento no seja feito de imediato, mas em futuras evolues do documento de requisitos (Como) A temporalidade importante e re relaciona com o como, assim podese usar a mesma metodologia abordada para o como (Quando)
39

Documento de requisitos Exemplo de descrio de requisito


Em sistemas com vrios mdulos o (Onde) especifica o local em que ser implementada a funcionalidade proposta pelo requisito. O onde tambm pode ser referir a outros sistema j construdo e que possam ser integrados ao novo sistema para os quais os requisitos foram definidos Muitas vezes o (Quem) um usurio com perfil de acesso para executar a funcionalidade especfica, por exemplo, o administrador do sistema deve configurar o tempo mximo em que o sistema de e-mail pode est dedicado a tarefa de enviar notificaes sobre novas licitaes. No caso apresentado no nosso exemplo, o quem o prprio sistema de prego eletrnico que solicita automaticamente ao servidor de e-mail o envio das 40 mensagens em questo.

Elicitao de Requisitos
Usualmente o termo levantamento de requisitos utilizado, mas h uma palavra em portugus bem mais adequada: ELICITAO ELICITAR: siguinifca descobrir, tornar explcito, obter o mximo de informaes para o conhecimento do objeto em questo Entrevistas
41

Elicitao de Requisitos
Tcnicas usadas requisitos: na elicitao de

Entrevistas Leitura de documentos


Muitas vezes existem manuais, leis, formulrios, dentre outros que trazem os requisitos necessrios

Questionrios
Quando se tem muitos usurios a serem entrevistados, questionrios podem ser aplicados para agilizar o processo de entrevista.
42

Elicitao de Requisitos
Cenrios Observaes e anlise sociais (etnografia) Reuso de requisitos
Outros sistemas desenvolvidos anterior mente podem conter requisitos que possam ser aproveitados em outras abordagens

Prototipagem
Sempre que possvel fazer prottipo tela do sistema ajuda ao futuro usurio melhorar a percepo do sistema futuro e fornecer informaes mais completas e confiveis.

43

O que qualidade de software ?


Viso popular 1. Qualidade vista como luxo, classe e questo de gosto 2. Produtos caros, sofisticados e mais complexos so considerados de maior qualidade que produtos similares mais simples 3. Qualidade pode ser discutida, sentida e julgada, mas no pode ser medida, controlada, nem gerenciada Viso profissional 1. Qualidade est relacionada aos requisitos designados para o produto 2. As no conformidades aos requisitos so consideradas defeitos, falta de qualidade

3. Qualidade pode e deve ser medida, definida, monitorada, gerenciada e melhorada


44