O documento descreve um módulo sobre sistemas operativos cliente com 20 blocos de 90 minutos. Os tópicos incluem instalação e configuração de sistemas operativos, múltiplas configurações de sistema, resolução de problemas e programação de ficheiros de comandos.
O documento fornece um resumo sobre sistemas operacionais. Explica que um sistema operacional é um software que gerencia os recursos de hardware e fornece uma interface de alto nível para programas acessarem dispositivos. Também discute conceitos como processos, memória, escalonamento e exclusão mútua, que são fundamentais para a operação de sistemas operacionais modernos.
O documento apresenta uma introdução ao JavaScript, incluindo sua importância no navegador, objetos, variáveis, operadores e DOM. É feita uma explicação sobre objetos internos e personalizados, tipos de variáveis e suas abrangências, operadores matemáticos e de comparação, e como manipular elementos da página usando o objeto document.
Este documento fornece uma introdução sobre redes de computadores, incluindo os tipos de redes (LAN, MAN, WAN), componentes físicos, vantagens do trabalho em rede, serviços da Internet como e-mail e FTP, conceitos como firewall, proxy, antivírus e segurança na Internet. O documento também inclui perguntas iniciais e links para vídeos adicionais.
Aula sobre Interação (mouse e teclado) com OpenGL para a disciplina de Introdução à Computação Gráfica do curso de Ciência da Computação da UFPB no período 2010.1
O documento descreve os tópicos e objetivos de uma disciplina de Sistemas Operacionais, incluindo a história e conceitos básicos do assunto, gerência de processos e memória, e estudos de sistemas operacionais existentes. Também inclui informações sobre atividades, avaliações e bibliografia para o curso.
O documento discute a estrutura dos sistemas operacionais. Apresenta o kernel como o conjunto de rotinas e serviços oferecidos pelo sistema operacional. Descreve os modos de acesso kernel e usuário e o mecanismo de system calls. Explora diferentes arquiteturas de kernel, incluindo monolítica, em camadas e microkernel, assim como o modelo de máquina virtual.
O documento descreve um módulo sobre sistemas operativos cliente com 20 blocos de 90 minutos. Os tópicos incluem instalação e configuração de sistemas operativos, múltiplas configurações de sistema, resolução de problemas e programação de ficheiros de comandos.
O documento fornece um resumo sobre sistemas operacionais. Explica que um sistema operacional é um software que gerencia os recursos de hardware e fornece uma interface de alto nível para programas acessarem dispositivos. Também discute conceitos como processos, memória, escalonamento e exclusão mútua, que são fundamentais para a operação de sistemas operacionais modernos.
O documento apresenta uma introdução ao JavaScript, incluindo sua importância no navegador, objetos, variáveis, operadores e DOM. É feita uma explicação sobre objetos internos e personalizados, tipos de variáveis e suas abrangências, operadores matemáticos e de comparação, e como manipular elementos da página usando o objeto document.
Este documento fornece uma introdução sobre redes de computadores, incluindo os tipos de redes (LAN, MAN, WAN), componentes físicos, vantagens do trabalho em rede, serviços da Internet como e-mail e FTP, conceitos como firewall, proxy, antivírus e segurança na Internet. O documento também inclui perguntas iniciais e links para vídeos adicionais.
Aula sobre Interação (mouse e teclado) com OpenGL para a disciplina de Introdução à Computação Gráfica do curso de Ciência da Computação da UFPB no período 2010.1
O documento descreve os tópicos e objetivos de uma disciplina de Sistemas Operacionais, incluindo a história e conceitos básicos do assunto, gerência de processos e memória, e estudos de sistemas operacionais existentes. Também inclui informações sobre atividades, avaliações e bibliografia para o curso.
O documento discute a estrutura dos sistemas operacionais. Apresenta o kernel como o conjunto de rotinas e serviços oferecidos pelo sistema operacional. Descreve os modos de acesso kernel e usuário e o mecanismo de system calls. Explora diferentes arquiteturas de kernel, incluindo monolítica, em camadas e microkernel, assim como o modelo de máquina virtual.
Este documento fornece uma introdução às técnicas de auditoria assistidas por computador (CAATs). Discute os tipos de CAATs, incluindo software de auditoria generalizado e personalizado. Também apresenta exemplos de ferramentas CAATs como ACL e IDEA e discute os benefícios das CAATs na análise de dados e auditoria.
O documento discute os principais periféricos de entrada e saída de dados para computadores, incluindo teclados, mouses, scanners, câmeras digitais, monitores e impressoras. Explica como esses dispositivos permitem a interação entre usuários e computadores, permitindo a entrada e saída de informações.
O documento discute o uso da plataforma Arduino para automação residencial de baixo custo. Ele explica como o Arduino pode ser usado com placas e shields para controlar diversos sistemas domésticos como iluminação, ar condicionado e irrigação. A conclusão é que o Arduino oferece flexibilidade e baixo custo para projetos de automação residencial.
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Leinylson Fontinele
A aula apresenta o modelo físico de banco de dados e introduz a linguagem SQL, dividida em três grupos de comandos: DDL para definição de dados, DML para manipulação de dados, e DCL para controle de dados. Apresenta também como instalar o MySQL e aplicar os conceitos aprendidos.
O documento discute os sistemas operativos, definindo-o como um programa que serve de interface entre o computador e o usuário. Explica que traduz os comandos do usuário para a linguagem binária do computador e organiza a troca de informações entre os componentes. Também lista e descreve diversos comandos utilizados em sistemas operativos de linha de comando como o MS-DOS.
Este documento fornece informações sobre a instalação e configuração de sistemas operativos. Ele discute a importância de verificar erros e desfragmentar discos rígidos regularmente para melhorar o desempenho. Também aborda como instalar um segundo sistema operativo em dual boot sem perder dados e como resolver problemas de lentidão após instalar novos programas e hardware.
O documento descreve a história da internet e da web, desde sua criação na década de 1960 como uma rede fechada chamada ARPANET até seu desenvolvimento atual. Também discute como projetar sites web, incluindo mapeamento de sites, hospedagem, tecnologias e análise de tráfego.
O documento discute sistemas operacionais de rede, incluindo conceitos como arquiteturas cliente-servidor e peer-to-peer. Detalha componentes como placas de rede, drivers de protocolo e aplicações cliente-servidor que permitem o compartilhamento de recursos entre computadores conectados em rede.
Uma VPN permite conexões seguras e privadas à internet pública através da criptografia de dados. Ela conecta redes privadas menores e evita censuras ou restrições regionais. Uma VPN funciona criando um "túnel" seguro através do qual os dados viajam criptografados entre dois pontos finais, prevenindo vigilância ou modificação.
O documento discute os tipos de backup, como completo, incremental e diferencial. Também aborda vantagens e desvantagens de cada tipo, programas para backup e a importância de testar backups periodicamente.
O documento discute estratégias para comunicação distribuída, incluindo CORBA. CORBA permite que objetos em sistemas distribuídos se comuniquem de forma transparente através de um ORB, independentemente da plataforma, sistema operacional ou linguagem. A especificação CORBA define como objetos podem fazer e receber chamadas de métodos remotamente como se fossem locais.
O documento descreve o servidor proxy Squid, incluindo sua instalação, configuração e uso de ACLs. O Squid atua como intermediário entre PCs e a Internet, fornecendo segurança, controle e cache. Sua configuração é feita no arquivo squid.conf, definindo parâmetros como porta, cache, logs e listas de controle de acesso.
O documento explica a diferença entre dados e informação, definindo dados como itens brutos e informação como dados processados. Em seguida, define banco de dados como um conjunto de arquivos integrados para atender sistemas, e SGBD como softwares para armazenar e acessar dados em bancos de dados.
Padronização de Nomenclatura para Banco de DadosSamuelson Brito
O documento discute a importância de padronizar a nomenclatura de bancos de dados para aumentar a produtividade e qualidade do sistema. Ele explica como criar um padrão de nomenclatura simples e intuitivo para tabelas, colunas, chaves e outros itens para tornar o banco de dados fácil de entender e manter.
Slide da apresentação do artigo Um Estudo Sobre a Distribuição Linux Fedora, este artigo esta aqui em meus arquivos para quem deseje baixar. http://www.slideshare.net/slideshow/embed_code/24181718
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Gustavo Zimmermann
O documento discute aspectos de segurança em bancos de dados. Ele aborda controle de redundância, controle de concorrência, restrições de integridade, violação e consistência de dados, SQL injection, mecanismos de controle de acesso, segurança contra falhas, tipos de falhas e segurança em bancos de dados MySQL e Oracle.
O documento descreve a ferramenta Trello para gerenciamento de projetos, incluindo boards, listas, cartões e recursos. Boards representam projetos, listas são estágios das tarefas, e cartões são as tarefas individuais. A ferramenta permite organizar projetos, acompanhar status de tarefas, e colaborar em um board com membros.
1) O documento descreve o que é o sistema operacional Linux, sua história e características.
2) Foi criado por Linus Torvalds em 1991 e é um software livre e de código aberto baseado no Unix.
3) O Linux é um sistema operacional multiusuário, multiprocessado e portátil que pode rodar em diversos hardwares.
* Классификация нефункциональных требований
* Шаблоны нефункциональных требований
* Численные значения нефункциональных требований
* Связи между нефункциональными и функциональными требованиями
* Влияние различных категорий нефункциональных требований друг на друга
* Атрибуты качества продукта и нефункциональные требования
* Роли в проекте, с которыми взаимодействует аналитик при выявлении и уточнении нефункциональных требований
Este documento fornece uma introdução às técnicas de auditoria assistidas por computador (CAATs). Discute os tipos de CAATs, incluindo software de auditoria generalizado e personalizado. Também apresenta exemplos de ferramentas CAATs como ACL e IDEA e discute os benefícios das CAATs na análise de dados e auditoria.
O documento discute os principais periféricos de entrada e saída de dados para computadores, incluindo teclados, mouses, scanners, câmeras digitais, monitores e impressoras. Explica como esses dispositivos permitem a interação entre usuários e computadores, permitindo a entrada e saída de informações.
O documento discute o uso da plataforma Arduino para automação residencial de baixo custo. Ele explica como o Arduino pode ser usado com placas e shields para controlar diversos sistemas domésticos como iluminação, ar condicionado e irrigação. A conclusão é que o Arduino oferece flexibilidade e baixo custo para projetos de automação residencial.
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Leinylson Fontinele
A aula apresenta o modelo físico de banco de dados e introduz a linguagem SQL, dividida em três grupos de comandos: DDL para definição de dados, DML para manipulação de dados, e DCL para controle de dados. Apresenta também como instalar o MySQL e aplicar os conceitos aprendidos.
O documento discute os sistemas operativos, definindo-o como um programa que serve de interface entre o computador e o usuário. Explica que traduz os comandos do usuário para a linguagem binária do computador e organiza a troca de informações entre os componentes. Também lista e descreve diversos comandos utilizados em sistemas operativos de linha de comando como o MS-DOS.
Este documento fornece informações sobre a instalação e configuração de sistemas operativos. Ele discute a importância de verificar erros e desfragmentar discos rígidos regularmente para melhorar o desempenho. Também aborda como instalar um segundo sistema operativo em dual boot sem perder dados e como resolver problemas de lentidão após instalar novos programas e hardware.
O documento descreve a história da internet e da web, desde sua criação na década de 1960 como uma rede fechada chamada ARPANET até seu desenvolvimento atual. Também discute como projetar sites web, incluindo mapeamento de sites, hospedagem, tecnologias e análise de tráfego.
O documento discute sistemas operacionais de rede, incluindo conceitos como arquiteturas cliente-servidor e peer-to-peer. Detalha componentes como placas de rede, drivers de protocolo e aplicações cliente-servidor que permitem o compartilhamento de recursos entre computadores conectados em rede.
Uma VPN permite conexões seguras e privadas à internet pública através da criptografia de dados. Ela conecta redes privadas menores e evita censuras ou restrições regionais. Uma VPN funciona criando um "túnel" seguro através do qual os dados viajam criptografados entre dois pontos finais, prevenindo vigilância ou modificação.
O documento discute os tipos de backup, como completo, incremental e diferencial. Também aborda vantagens e desvantagens de cada tipo, programas para backup e a importância de testar backups periodicamente.
O documento discute estratégias para comunicação distribuída, incluindo CORBA. CORBA permite que objetos em sistemas distribuídos se comuniquem de forma transparente através de um ORB, independentemente da plataforma, sistema operacional ou linguagem. A especificação CORBA define como objetos podem fazer e receber chamadas de métodos remotamente como se fossem locais.
O documento descreve o servidor proxy Squid, incluindo sua instalação, configuração e uso de ACLs. O Squid atua como intermediário entre PCs e a Internet, fornecendo segurança, controle e cache. Sua configuração é feita no arquivo squid.conf, definindo parâmetros como porta, cache, logs e listas de controle de acesso.
O documento explica a diferença entre dados e informação, definindo dados como itens brutos e informação como dados processados. Em seguida, define banco de dados como um conjunto de arquivos integrados para atender sistemas, e SGBD como softwares para armazenar e acessar dados em bancos de dados.
Padronização de Nomenclatura para Banco de DadosSamuelson Brito
O documento discute a importância de padronizar a nomenclatura de bancos de dados para aumentar a produtividade e qualidade do sistema. Ele explica como criar um padrão de nomenclatura simples e intuitivo para tabelas, colunas, chaves e outros itens para tornar o banco de dados fácil de entender e manter.
Slide da apresentação do artigo Um Estudo Sobre a Distribuição Linux Fedora, este artigo esta aqui em meus arquivos para quem deseje baixar. http://www.slideshare.net/slideshow/embed_code/24181718
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Gustavo Zimmermann
O documento discute aspectos de segurança em bancos de dados. Ele aborda controle de redundância, controle de concorrência, restrições de integridade, violação e consistência de dados, SQL injection, mecanismos de controle de acesso, segurança contra falhas, tipos de falhas e segurança em bancos de dados MySQL e Oracle.
O documento descreve a ferramenta Trello para gerenciamento de projetos, incluindo boards, listas, cartões e recursos. Boards representam projetos, listas são estágios das tarefas, e cartões são as tarefas individuais. A ferramenta permite organizar projetos, acompanhar status de tarefas, e colaborar em um board com membros.
1) O documento descreve o que é o sistema operacional Linux, sua história e características.
2) Foi criado por Linus Torvalds em 1991 e é um software livre e de código aberto baseado no Unix.
3) O Linux é um sistema operacional multiusuário, multiprocessado e portátil que pode rodar em diversos hardwares.
* Классификация нефункциональных требований
* Шаблоны нефункциональных требований
* Численные значения нефункциональных требований
* Связи между нефункциональными и функциональными требованиями
* Влияние различных категорий нефункциональных требований друг на друга
* Атрибуты качества продукта и нефункциональные требования
* Роли в проекте, с которыми взаимодействует аналитик при выявлении и уточнении нефункциональных требований
Лекция посвящена последнему этапу работы над проектом, а именно его завершени. Часто случается так, что якобы выполненные проекты затягиваются на этапе сдачи. В этой лекции мы рассмотрим причины и возможные пути решения.
Ссылка на текстовую версию: http://growandmanage.com/zavershenie-proektov/
Эффективное объектно-ориентированное проектирование и структурное качество пр...LuxoftTraining
Алексей Петров, консультант Luxoft Training в области анализа и моделирования бизнес-процессов и проектирования баз данных, представил доклад «Эффективное объектно-ориентированное проектирование и структурное качество приложений» на Stratoplan TECH&BUSINESS Summit 2013.
В своем выступлении Алексей ответил на ряд важных вопросов:
- Что такое «структурное качество приложения»?
- Что такое «антишаблоны», и какой вред они могут нанести коду?
- Как соотносятся фундаментальные и канонические шаблоны ОО-проектирования и показатели структурного качества?
- Какую помощь в обеспечении качества приложения могут оказать современные языки ОО-программирования?
- Какие организационные мероприятия могут помочь в обеспечении структурного качества в условиях промышленной разработки?
- Реально ли повысить структурное качество уже написанного приложения?
Тезисы доклада:
«Значимой актуальной тенденцией в инженерии ПО является переход от обеспечения качества приложения путем всестороннего тестирования по завершении основной фазы его кодирования к обеспечению качества на всех этапах жизненного цикла разработки ПО. Кроме того, само понятие качества трактуется все более широко и в соответствии с общепринятыми стандартами (напр., ISO/IEC 9126) охватывает на сегодняшний день такие понятия, как безопасность, надежность, масштабируемость, удобство сопровождения.
Сформулировать соответствующие метрики качества нетрудно, гораздо труднее — добиться заданных показателей. И основную роль в этом играют не программисты, которые «изготавливают» исходный или объектный код, а аналитики и архитекторы, которые проектируют будущие артефакты с учетом оп
5. Функциональные и нефункциональные требования
Функциональные требования: перечень сервисов, с указанием реакции на запросы,
поведения в определенных ситуациях; а также, что система не должна делать
Нефункциональные требования: характеристики системы и её окружения, а не
поведение; плюс ограничения
Требования предметной области: характеризуют предметную область, где будет
эксплуатироваться система. Могут быть функциональными и нефункциональными.
➔ Не всегда можно разделить функциональные и нефункциональные требования
6. Что не является требованием
➔ Детали архитектуры
➔ Детали реализации
➔ Сведения о планировании
➔ Сведения о тестировании
➔ Любые указания по проектной информации
◆ Бюджет
◆ Время
◆ Инфраструктура разработки
7. Ограничения
Архитекторы и разработчики не имеют достаточной
свободы действовать по собственному усмотрению:
➔ предопределенное архитектурное решение;
➔ правила и стандарты;
➔ бюджет и сроки сдачи.
Это ограничения, влияющие на то, как архитекторы и
разработчики будут реализовывать требования
➔ Ограничение сужает варианты выбора
10. На что влияют нефункциональные требования
➔ Развитие системы, продукта
➔ Архитектура системы
➔ IT-Инфраструктура
➔ Процессы, регламенты и SLA для службы поддержки
➔ etc.
Детали архитектуры, SLA, планы развития системы/продукта не
являются нефункциональными требованиями
11. Модель качества ПО
Характеристики качественного ПО
➔ Легко использовать
➔ Хорошая производительность
➔ Нет ошибок
➔ Не портит пользовательские данные при сбоях
➔ Можно использовать на разных платформах
➔ Может работать 24 часа в сутки и 7 дней в неделю
➔ Легко добавлять новые возможности
➔ Удовлетворяет потребности пользователей
➔ Хорошо документировано
➔ etc.
12. Создание модели качества ПО
➔ Определение заинтересованных
лиц
➔ Определение критериев
качества
➔ Нахождение решения,
удовлетворяющего критериям
13. Модели качества ПО
➔ ISO 9126
➔ ГОСТ 34
➔ McCall’s Quality Model (1977)
➔ Boehm’s Quality Model (1978)
1061-1998 IEEE Standard for Software Quality Metrics Methodology
ISO 8402:1994 Quality management and quality assurance
14. Модель качества ISO 9126
Оценка качества ПО основана на трехуровневом рассмотрении:
➔ Цели (goals) — то, что мы хотим видеть в ПО
➔ Атрибуты (attributes) —свойства ПО, показывающие приближение к целям
➔ Метрики (metrics) — количественные характеристики степени наличия атрибутов
Выделено 6 целей:
➔ функциональность (functionality)
➔ надежность (reliability)
➔ практичность, или удобство использования (usability)
➔ эффективность (efficiency)
➔ сопровождаемость (maintainability)
➔ переносимость или мобильность (portability)
15. Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Функциональность Пригодность к определенной работе
(suitability)
Точность, правильность (accuracy)
Способность к взаимодействию,
совместимость (interoperability)
Соответствие стандартам и правилам
(compliance)
Защищенность (security)
16. Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Надёжность Зрелость, завершенность (обратна к частоте
отказов) (maturity)
Устойчивость к отказам (fault tolerance)
Способность к восстановлению
работоспособности при отказах (recoverability)
Доступность
Готовность (коэффициент готовности)
Соответствие стандартам надежности
(reliability compliance, добавлен в 2001)
17. Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Практичность,
удобство
использования
Понятность (understandability)
Удобство обучения (learnability)
Работоспособность (operability)
Привлекательность (attractiveness, добавлен
в 2001)
Соответствие стандартам практичности
(usability compliance, добавлен в 2001)
18. Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Эффективность Временные характеристики (time behaviour)
Использование ресурсов (resource utilisation)
Соответствие стандартам эффективности
(efficiency compliance,добавлен в 2001)
19. Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Сопровожда-
емость
Анализируемость (analyzability)
Изменяемость, удобство внесения изменений
(changeability)
Риск возникновения неожиданных эффектов
при внесении изменений (stability)
Контролируемость, удобство проверки
(testability)
Соответствие стандартам сопровождаемости
(maintainability compliance, добавлен в 2001)
20. Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Переносимость Адаптируемость (adaptability)
Удобство установки (installability)
Способность к сосуществованию с другим ПО
(coexistence)
Удобство замены другого ПО данным
(replaceability)
Соответствие стандартам переносимости
(portability compliance, добавлен в 2001)
21. Характеристики качества
➔ Функциональность – способность решать задачи, которые соответствуют зафиксированным
и предполагаемым потребностям пользователя, при заданных условиях использования
➔ Надежность – способность выполнять требуемые задачи в обозначенных условиях на
протяжении заданного промежутка времени или указанное количество операций
➔ Удобство использования – возможность легкого понимания, изучения, использования и
привлекательности ПО для пользователя
➔ Эффективность – способность обеспечивать требуемый уровень производительности в
соответствии с выделенными ресурсами, временем и другими обозначенными условиями
➔ Удобство сопровождения – легкость, с которой ПО может анализироваться, тестироваться,
изменяться для исправления дефектов, для реализации новых требований, для облегчения
дальнейшего обслуживания и адаптироваться к изменяющемуся окружению
➔ Переносимость – характеризует ПО с точки зрения легкости его переноса из одного
окружения (software/hardware) в другое
22. Основные характеристики качества ПО (ISO 9126)
➔ Системная эффективность — применение программного продукта по
назначению
➔ Продуктивность — производительность при решении основных задач
системы, достигаемая при реально ограниченных ресурсах в конкретной
внешней среде применения
➔ Безопасность — надежность функционирования комплекса программ и
возможный риск от его применения для людей, бизнеса и внешней
среды
➔ Удовлетворение требований и затрат пользователей в соответствии
с целями применения системы
23. Модель качества ПО по МакКолу
Характеристики качества:
➔ Факторы (factors), описывающие ПО с позиций пользователя и
задаваемые требованиями
➔ Критерии (criteria), описывающие ПО с позиций разработчика и
задаваемые как цели
➔ Метрики (metrics), используемые для количественного описания и
измерения качества
24. Критерии качества ПО по МакКолу
Критерии качества — числовые уровни факторов,
поставленные в качестве целей при разработке:
➔ Удобство проверки на соответствие стандартам (auditability)
➔ Точность управления и вычислений (accuracy)
➔ Степень стандартности интерфейсов (communication commonality)
➔ Функциональная полнота (completeness)
➔ Однородность используемых правил проектирования и документации
(consistency)
➔ Степень стандартности форматов данных (data commonality)
➔ Устойчивость к ошибкам (error tolerance)
➔ Эффективность работы (execution efficiency)
➔ Расширяемость (expandability)
25. Критерии качества ПО по МакКолу
➔ Широта области потенциального использования (generality)
➔ Независимость от аппаратной платформы (hardware independence)
➔ Полнота протоколирования ошибок и других событий (instrumentation)
➔ Модульность (modularity)
➔ Удобство работы (operability)
➔ Защищенность (security)
➔ Самодокументированность (selfdocumentation)
➔ Простота работы ( simplicity)
➔ Независимость от программной платформы (software system independence)
➔ Возможность соотнесения проекта с требованиями (traceability)
➔ Удобство обучения (training)
26. Критерии качества ПО по Боэму
Дополнительные атрибуты качества по Боэму:
➔ ясность (clarity),
➔ удобство внесения изменений (modifiability),
➔ документированность (documentation),
➔ способность к восстановлению функций (resilience),
➔ понятность (understandability),
➔ адекватность ( validity),
➔ функциональность (functionality),
➔ универсальность (generality),
➔ экономическая эффективность (economy)
27. ГОСТ 34 (с дополнениями)
Runtime (атрибуты, относящиеся ко времени работы приложения или
системы):
➔ Доступность
➔ Надежность
➔ Требования к времени хранения данных
➔ Масштабируемость
➔ Требования к удобству использования
➔ Требования к безопасности
➔ Требования к конфигурируемости
➔ Требования к производительности
➔ Ограничения
28. ГОСТ 34 (с дополнениями)
Design time (атрибуты, определяющие ключевые аспекты
проектирования приложения или системы):
➔ Требования к повторному использованию реализации или компонентов
приложения/системы
➔ Требования к расширяемости
➔ Требования к переносимости
➔ Требования к взаимодействию
➔ Требования к поддержке
➔ Требования к модульности
➔ Требования к возможности тестирования
➔ Требования к возможности и простоте локализации
➔ Требования к совместимости между версиями приложений
29. Подход FURPS+
Подход FURPS+ разработан Робертом Грэйди (Robert Grady) из
Hewlett-Packard и предложен в 1992 году
➔ Functionality – функциональность
➔ Usability – удобство использования
➔ Reliability – надежность
➔ Performance – производительность
➔ Supportability – удобство сопровождения
+ Описание различных ограничений, которые необходимо учитывать при
проектировании и разработке системы
31. FURPS+
Удобство использования (Usability):
➔ эргономичность пользовательского интерфейса;
➔ защита от человеческого фактора;
➔ эксплуатационная документация;
➔ справка по работе с системой (help);
➔ соответствие интерфейса пользователя стандартам оформления;
➔ [необходимость дополнительного обучения пользователей];
➔ и т.д.
32. FURPS+
Надежность (Reliability):
➔ допустимая частота/периодичность сбоев;
➔ возможность восстановления системы после сбоев;
➔ время доступности системы (например, 365х24х7);
➔ предсказуемость поведения;
➔ точность вычислений;
➔ и т.д.
33. FURPS+
Производительность (Performance):
➔ скорость работы, время отклика;
➔ пропускная способность (количество одновременно работающих пользователей,
количество пользовательских запросов, …);
➔ время, необходимое для запуска системы, ее остановки и восстановления ее
работоспособности;
➔ потребление ресурсов;
➔ и т.д.
35. Значения атрибутов качества
➔ Для каждого атрибута качества задаются диапазоны их
допустимых значений
➔ Диапазоны допустимых значений определяют все
зависимые от нефункциональных требований аспекты ЖЦ
продукта/системы
➔ На основании выбранных атрибутов качества и диапазонов
их допустимых значений создаются профили качества
продуктов/систем
36. Значения атрибутов качества
Примеры
➔ Хорошая производительность:
◆ Число операций в секунду <интервал значений>
◆ Число транзакций в секунду: <интервал значений>
➔ Можно использовать на разных платформах
◆ Список поддерживаемых платформ и ограничений по их
использованию
➔ Может работать 24 часа в сутки и 7 дней в неделю
◆ Частота недоступности системы в пределах временного интервала,
который используется для определения доступности
37. Определение значений атрибутов качества
Доступность (отказоустойчивость)
➔ Частота недоступности системы в пределах временного интервала, который используется для
определения доступности
➔ Продолжительность недоступности системы
➔ Доступность по расписанию
◆ 5 х 8 (рабочие дни, рабочие часы)
◆ 7 х 24 (все дни недели, 24 часа)
◆ 365 х 24 (все дни года, 24 часа)
Доступность пять «9 » или 99,999% - стремление индустрии
Например, производители серверов:
➔ Достигнутый результат – 99,998% для кластеров (10 минут недоступности в течение года)
38. Определение значений атрибутов качества
Надежность и доступность
➔ Операционная мера надежности – MTTF (Mean Time To Failure – среднее
время до отказа или наработка на отказ). Измеряется в часах
➔ Частота отказов: (1/ MTTF)
➔ Среднее время на устранение отказа – MTTR (Mean Time To Repair)
39. Определение значений атрибутов качества
Производительность
➔ При заданных параметрах системы
◆ Число серверов
◆ Процессоры
◆ Память
◆ Дисковая подсистема
◆ Сеть
➔ При заданном объеме базы данных
◆ Число записей того или иного сорта, например, число позиций на складе или
число счетов в банковской системе или число полисов в страховой системе
◆ При меняющемся числе параллельно работающих пользователей
◆ Например, 1 – 10 – 100 – 1000 – 10000
40. Определение значений атрибутов качества
Производительность
➔ Время отклика системы на воздействие
◆ Онлайн запросы
◆ Пакетные запросы (отчеты)
➔ Разные виды архитектуры
◆ Клиент – сервер
◆ Клиент – сервер приложений – сервер базы данных
◆ Клиент – сервер интерфейса – сервер приложений – сервер базы данных
➔ Как осуществляется балансировка нагрузки
◆ Автоматически, средствами сервера приложений, операционной системы,
базы данных
◆ Алгоритмами приложения
41. Определение значений атрибутов качества
Безопасность
Метрика Методика определения
протоколирование
доступа
Х = А / В;
А = число «фактов доступа пользователя к системе и данным»,
зафиксированных в протоколе системы;
В = число «фактов доступа пользователя к системе и данным»,
которые были произведены во время оценки
контролируемость
доступа
Х = А / В;
А = число обнаруженных видов несанкционированного доступа;
В = число видов несанкционированного доступа в спецификации
42. Определение значений атрибутов качества
Безопасность
Метрика Методика определения
предотвращение
повреждения данных
а) Х = 1 – А / N;
A = число фактов существенного повреждения данных;
N = число видов тестов, при помощи которых пытались
спровоцировать факт повреждения данных;
b) Y = 1 – B / N;
B = число фактов незначительного повреждения данных;
c) Х = A / T или B / T;
T = время выполнения операции
d) Х = А / В;
А = число реализованных механизмов защиты от повреждения
данных;
В = число механизмов, требуемых по спецификации
43. Определение значений атрибутов качества
Безопасность
Метрика Методика определения
экономический ущерб a) Х = 1 – А / В;
А = число событий экономического ущерба;
В = общее число инсталляций системы
b) X = A/T
A = Величина экономического ущерба
T = Время эксплуатации системы
повреждение прочего
ПО
Х = 1 – А / В;
А = число событий повреждения прочего ПО;
В = общее число использования системы
44. Определение значений атрибутов качества
Если точное значение определить невозможно
➔ Используйте оценочные значения (границы интервалов, за которые нельзя
выходить)
◆ Оценки по порядку величины
◆ Например, 1 – 10 – 100 – 1000 – 10000
➔ Уточняйте требования бизнес-уровня
➔ Пользуйтесь экспертизой ведущих производителей ПО
◆ Benchmark tests
◆ Техническая документация вендоров
45. Атрибуты качества: общие проблемы
➔ Клиентам трудно их определить, и потому их обычно обходят стороной
◆ У разных классов пользователей свои предпочтения
➔ Подразумеваются заказчиками, а не определяются и не исследуются на
предмет выполнимости
➔ Существенны и значимы при выборе архитектурного решения
➔ Должны быть исследованы во время процесса выявления требований
при участии всех заинтересованных сторон (а не только пользователей)
➔ Должны быть измеряемы и проверяемы
46. Атрибуты качества: рабочие группы
➔ Определить список заинтересованных лиц (ЗЛ), с которыми
можно провести техническое интервью:
◆ Представители бизнес-пользователей
◆ Архитекторы ПО
◆ Ведущие специалисты по тестированию
◆ Менеджеры и аналитики зависимых систем
➔ Составить опросник с архитектурными требованиями:
◆ Несколько вопросов для каждого требования
◆ Указать приоритет
➔ Собрать ответы ЗЛ, проанализировать их на непротиворечивость
47. Атрибуты качества: рабочие группы
Сценарий работы группы по определению атрибутов качества:
1. Знакомство и представление рабочей группы
2. Представление бизнес-целей и задач
3. Представление плана архитектуры ПО
4. Определение ведущих элементов архитектуры
5. Сценарий «мозговой штурм»
6. Сценарий «консолидация результатов»
7. Сценарий «задание приоритетов»
8. Сценарий «уточнение»
48. Связь между функциональными и нефункциональными
требованиями
Работа над функциональными требованиями:
1. Определение вариантов использования и их декомпозиция
2. Определение функциональных областей в системе (общие цели, общие
действующие лица)
3. Определение критических факторов, влияющих на выполнение сценариев
4. Определение действующих ограничений
Editor's Notes
Требование – пригодное для практического использования представление решения в виде условия или возможности, которые необходимы заинтересованной стороне (стейкхолдеру) для достижения цели, инициированной потребностью. BABOK®Guide различает следующие виды требований:
Бизнес-требование (business requirement), которое отвечает на вопросы «Почему это нужно?» или «Зачем я этого хочу?» и представляет собой отображение целей, задач и результатов, объясняющих, для чего было инициировано изменение и каким образом будет оцениваться успех его реализации;
Требование стейкхолдера (stakeholder requirement), которое отвечает на вопрос «Что нужно?» и описывает потребности отдельной заинтересованной стороны или целой группы стейкхолдеров, необходимые для выполнения бизнес-требований. Фактически, они могут играть роль проводника от бизнес-требований до требований к решению.
Требование к решению (solution requirement), которое отвечает на вопрос «Что я хочу?» и описывает возможность или качество решения, удовлетворяющие требованиям стейкхолдера. Требования к решению делятся на функциональные требования и нефункциональные. Функциональное требование (functional requirement) означает поведенческую возможность, которую должно предоставлять решение. Нефункциональное требование (non-functional requirement) описывает особенности эксплуатации: производительность, информационную безопасность, удобство использования и выражается в измеримых показателях, которые являются своего рода ограничениями варианта реализации (дизайна) решения. Подробнее про нефункциональные требования читайте в нашей новой статье.
Переходное требование (transition requirement), которое отвечает на вопрос «Каковы условия реализации перехода от бизнес-потребности к внедренному решению?», описывая возможности решения и условия, каким оно должно соответствовать для перехода из текущего состояния в целевое. В отличие от других видов требования, переходное требование является временным, т.к. становится не нужным после завершения изменения. Например, требование относительно форматов и процедур преобразования данных при переходе от одной системы к другой.