Разработка подсистемы прогнозирования трудоемкости и стоимости создания программного продукта по методике CETIN

Архитектура программного продукта и требования к платформе, обоснование выбора разработки. Закономерности и основные этапы алгоритмизации и программирования, а также отладка и тестирование продукта. Разработка и содержание руководства пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.01.2017
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

[140, 610], // 11 месяцев

[160, 670], // 12 месяцев

[180, 720], // 13 месяцев

[200, 770], // 14 месяцев

[230, 820], // 15 месяцев

[260, 870], // 16 месяцев

[290, 930], // 17 месяцев

[330, 990], // 18 месяцев

[370, 1040], // 19 месяцев

[420, 1090], // 20 месяцев

[470, 1150], // 21 месяц

[530, 1200], // 22 месяца

[600, 1250], // 23 месяца

[670, 1300], // 24 месяца

[750, 1350], // 25 месяцев

[830, 1400], // 26 месяцев

[900, 1450], // 27 месяцев

[970, 1500], // 28 месяцев

[1150, 1550], // 29 месяцев

[1230, 1600], // 30 месяцев

[1310, 1660], // 31 месяц

[1390, 1720], // 32 месяца

[1470, 1780], // 33 месяца

[1520, 1840], // 34 месяца

[1570, 1900], // 35 месяцев

[1620, 1960], // 36 месяцев

[1680, 2020] // 37 месяцев

];

/**

* Нормативные коэффициенты расхода разработчиков

*/

self.nkr = [71.5, 48, 25, 0.75, 15];

/* ПНР ПРП ПР L N */

/**

* Значения поправочных коэффициентов трудоемкости.

* По-умолчанию 1, т.е. всегда средние значения.

*/

self.k = [

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1

];

/**

* Подсчет трудоемкости.

* @returns {Number} трудоемкость (человеко-месяц).

*/

self.peopleMonth = function() {

var calc = 0;

for (var j = 0; j < 6; j++) {

var kpj = 1;

for (var kk in self.kp[j]) {

kpj *= self.k [self.kp[j] [kk] - 1];

}

calc += self.sj[j] * kpj;

}

return calc;

};

/**

* Подсчет среднего срока разрабокти.

*

* @returns {Cetin.time.res} минимальное и максимально время разработки (месяцы).

*/

self.time = function() {

var pt = self.peopleMonth();

var res = {max: 0, min: self.terms.length - 1};

 // Если трудоемкость превышает минимум левой границы.

if (pt > 1680) {

res.min = 36; // Конец массива.

res.max = 31; // Начало массива, где начинается превышение.

 // Если трудоемкость не превышает известной правой границы.

if (pt < 2020) {

while (res.min >= 0 && self.terms [res.min] [1] > pt) {

res.min -;

}

res.min++;

res.max = Math.round (36 + (pt - 1680) / 40);

 // Если превышает известную правую границу.

} else {

res.min = Math.round (36 + (pt - 2020) / 40);

res.max = Math.round (36 + (pt - 1680) / 40);

}

 // Параметры срока можно расчитать на основании таблицы.

} else {

while (res.min >= 0 && self.terms [res.min] [1] > pt) {

res.min -;

}

res.min++;

while (res.max < self.terms.length && self.terms [res.max] [0] < pt) {

res.max++;

}

res.max -;

}

res.min++;

res.max++;

if (self.newTerm === 0)

self.newTerm = (res.min + res.max) / 2;

return res;

};

/**

* Новый срок разработки, введенный пользователем.

*/

self.newTerm = 0;

/**

* Расчитанная новая трудоемкость, на основании нового срока разработки.

*/

self.newPeopleMonth = 0;

/**

* Пересчет трудоемкости.

*/

self.recalcPeopleMonth = function() {

var terms = self.time();

var avgTerm = (terms.min + terms.max) / 2;

var incr = (avgTerm - self.newTerm) / avgTerm * 100;

self.newPeopleMonth = self.peopleMonth() + incr * self.nkr[3]; // Коэффициент элластичности.

};

/**

* Введенные параметры цены.

* cost - зарплата.

* inflation - нфляция за три года (указывается процент).

* psn - процент социальных выплат.

* pnds - процент НДС.

*/

self.cost = {cost: 0, inflation: [0, 0, 0], psn: 0, pnds: 0};

/**

* Расчет стоимости разработки.

*

* @returns {Cetin.calcCost.res} включает в себя стоимость разработки и стоимость сопровождения.

*/

self.calcCost = function() {

var c = self.cost;

var isr = (c.inflation[0] + c.inflation[1] + c.inflation[2]) / 3;

var gsr = Math.floor (self.newTerm / 12) + 1;

var costs = [];

var csr = [];

costs[0] = c.cost * (1 + isr / 100);

for (var i = 1; i < gsr; i++) {

costs[i] = costs [i - 1] * (1 + isr / 100);

}

for (var i = 0; i < gsr; i++) {

csr[i] = costs[i] * (1 + (0.9 * c.psn + self.nkr[0] + self.nkr[1]) / 100) * (1 + self.nkr[2] / 100) * (1 + c.pnds / 100);

}

var res = {sppo: 0, ssppo: 0};

for (var i = 0; i < gsr; i++) {

res.sppo += self.newPeopleMonth / gsr * csr[i];

}

res.ssppo = res.sppo * self.nkr[4] / 100 * self.k[1] * self.k[2] * self.k[15];

return res;

};

};

/**

* Менеджер шагов.

*

* @param {type} containerId идентификатор контейнера для вставки отображаемых шагов.

* @param {type} stepManagerName название менеджера шагов для обращения при кликах на шаги.

*/

var StepManager = function (containerId, stepManagerName) {

var self = this;

self.containerId = containerId;

self.stepManagerName = stepManagerName;

self.steps = [];

/**

* Текущий шаг.

*/

self.currentStep = «empty»;

/**

* Переход к шагу с номеров stepNum.

* @param {type} stepNum номер шага для перехода.

*/

self.goStep = function(stepNum) {

/*

* При переходе к другому шагу необходимо сделать следующее:

* - проверить правильность заполнения полей.

* - снять активность с текущего шага.

* - выполнить дейстивя по сохранения данных введенных с формы в объект.

* - установаить активным шаг stepNum.

* - выполнить действия по обновлению отображаемых полей.

*

* - прокрутить экран к текущему шагу.

*/

if (self.currentStep!== «empty») {

$(«#error» + self.currentStep).html(«»);

if (self.steps [self.currentStep].validators)

{

var validators = self.steps [self.currentStep].validators;

if (validators) {

for (var i = 0; i < validators.length; i++) {

var c = validators[i].validate();

if (c.error)

{

$(«#» + c.id).addClass («error»);

$(«#error» + self.currentStep).html (c.error);

return;

} else {

$(«#» + c.id).removeClass («error»);

}

}

}

}

$(«#step» + self.currentStep).removeClass («active»);

self.steps [self.currentStep].onCloseFunction();

for (var qq = self.currentStep + 1; qq < stepNum; qq++) {

self.steps[qq].onOpenFunction();

self.steps[qq].onCloseFunction();

}

}

self.currentStep = stepNum;

$(«#step» + self.currentStep).addClass («active»);

self.steps [self.currentStep].onOpenFunction();

$('html, body').animate({

scrollTop: $(«#step» + self.currentStep).offset().top - (stepNum === 0? 100: 0)

}, 480);

};

/**

* Переход к предыдущему шагу.

*/

self.goPrev = function() {

self.goStep (self.steps [self.currentStep].prevStep);

};

/**

* Переход к следующему шагу.

*/

self.goNext = function() {

self.goStep (self.steps [self.currentStep].nextStep);

};

};

/**

* Шаг.

* @param onOpenFunction функция, вызываемая при открытии шага.

* @param onCloseFunction функция, вызываемая при закрытии шага.

* @param prevStep номер предыдущего шага.

* @param nextStep номер следующего шага.

* @param validators список валидаторов.

*/

var Step = function (onOpenFunction, onCloseFunction, prevStep, nextStep, validators) {

var self = this;

/**

* Функция при открытии шага (обновление параметров формы).

*/

self.onOpenFunction = onOpenFunction;

/**

* Функция при закрытии шага (сохранение параметров формы).

*/

self.onCloseFunction = onCloseFunction;

/**

* Номер предыдущего шага.

*/

self.prevStep = prevStep;

/**

* Номер следущего шага.

*/

self.nextStep = nextStep;

/**

* Проверки правильности введенных данных.

*/

self.validators = validators;

};

/**

* Функция установки значения в селект.

*

* @param {type} selectName название селекта.

* @param {type} value новое значение.

*/

function setSelected (selectName, value) {

$(«select [name=» + selectName +»] option:selected»).attr («selected», «»);

$(«select [name=» + selectName +»] option [value=\"» + value + «\»]»).attr («selected», «selected»);

}

/**

* Функция получения значения текущего селекта.

*

* @param {type} selectName навзвание селекта.

* @returns значение селекта.

*/

function getSelectedValue(selectName) {

return $(«input [name=» + selectName + «Text]»).val();

}

/**

* Смена значения поля Коэффициент у выбранного селекта.

*

* @param {type} selectName

* @returns {undefined}

*/

function changeSelected(selectName) {

$(«input [name=» + selectName + «Text]»).val($(«select [name=» + selectName +»] option:selected»).val());

}

/**

* Валидатор.

*

* @param {type} id поле для валидации.

* @param {type} regexp регулярное выражение валидации.

* @param {type} errorMessage сообщение при ошибке.

*/

var Validator = function (id, regexp, errorMessage)

{

var self = this;

self.id = id;

self.regexp = regexp;

self.errorMessage = errorMessage;

/**

* Функция для валидации.

* @returns {Validator.validate. Anonym$50|String}

*/

self.validate = function() {

if (!$(«#» + self.id).val().match (self.regexp)) {

return {«id»: self.id, «error»: self.errorMessage};

}

return {«id»: self.id};

};

};

Приложение 6

Текст файла CSS

body

{

padding: 0; margin: 0;

width: 209mm;

}

h1 {

font: bold 8mm 'Arial';

color: #00688B;

}

step {

border-radius: 7px;

background-color: #00688B;

margin: 5px;

}

step.active {

background-color: #ecf5ff;

}

step.active.title {

background-color: #1dacd6;

color: #F0FFFF;

border-radius: 7px 7px 0 0;

}

step.active.footer {

background-color: #e0efff;

color: #393939;

border-radius: 0 0 7px 7px;

display: block;

}

step.active.content {

display: block;

}

step.title {

padding: 2mm;

font: bold 7mm 'Arial';

color: #E0EEEE;

cursor: pointer;

}

step.content {

padding: 3mm;

font: 5mm 'Arial';

color: #36648B;

display: none;

}

step.content.error {

background-color: #ff7f7f;

color: #7f0000;

}

step.content p.step.content.p {

text-indent: 1cm;

line-height: 1.5;

margin: 0.5mm 0;

}

step.content.p {padding: 8px 0;}

step.content.p {

border-width: 1px 0;

border-color: #cccccc;

border-style: solid;

}

step.content.p.error {

background-color: #ff7f7f;

}

step.content.hint {

color: #797979;

font: 3mm 'Arial';

line-height: 1.0;

}

step.content p input.step.content.p input {float: right;}

step.content p.select.step.content.p.select {text-align: center;}

step.content.p.select.hint {margin-top: 5px; margin-left: 1cm;}

step.content.p.select input {float: none; width: 1.5cm;}.step.footer {

padding: 2mm;

font: bold 7mm 'Arial';

color: #797979;

margin: 0 auto;

display: none;

text-align: center;

}

step.footer.button {

background-color: #00CD00;

border-radius: 5px;

padding: 2mm;

cursor: pointer;

width: 5cm;

margin: 0 2px;

text-align: center;

color: #ffffff;

display: inline-block;

}

step.footer.button:hover {

background-color: #7FFF00;

color: #3f7f3f;

}

step.footer.button:pressed {

background-color: #5da130;

color: #393939;

}

td {text-align: center; border-width: 0;}

td input {width: 40px; text-align: center;}

step.legend {

font-size: 12px;

}

#saveButton {

margin-left: 657px;

width: 100px;

height: 26px;

}

Приложение 7

Код страницы инициализации.

<%@page import= «java.util. Map»%>

<%@page import= «ru.cetin. InitForm»%>

<%@page contentType= «text/html» pageEncoding= «UTF-8»%>

<%@ taglib uri= «http://struts.apache.org/tags-html» prefix= «html»%>

<%@ taglib uri= «http://struts.apache.org/tags-tiles» prefix= «tiles»%>

<html>

<head>

<title>Инициализация</title>

<meta charset= «UTF-8»>

<meta name= «viewport» content= «width=device-width»>

</head>

<body style= «background-image:url (1.jpg)» >

<font color= "#008B8B»>

<h1 align= «center» >Методика оценки трудоемкости программного продукта CETIN</h1>

<h2>Выбор сохраненных парамтеров</h2>

<%

InitForm form = (InitForm) pageContext.getAttribute («InitForm», PageContext.REQUEST_SCOPE);

for (Map. Entry<Integer, String> entry: form.getIndexToName().entrySet())

{

%> <a class= «info» href= «cetin.do? id=<% out.append (Integer.toString (entry.getKey()));%>»>

<% out.append (entry.getValue());%>

</a><br> <%

%>

<a class= «info» href= «cetin.do? type=zakaz&id=<% out.append (Integer.toString (entry.getKey()));%>»>

<br></br>

<br></br>

<% out.append (entry.getValue());%> (заказчик)

</a><br> <%

}

%>

<a href= «cetin.do» class= «info»>Добавить новые параметры</a><br>

<a href= «cetin.do? type=zakaz» class= «info»>Добавить новые параметры (заказчик)</a>

</body>

</html>

Код страниц Сайта-Визитки

1 страница.

<html>

<head>

<title>CETIN</title>

<link href= «default.css» rel= «stylesheet» type= «text/css» />

</head>

<body>

<! - start header ->

<div id= «header»>

<div id= «logo»>

<h1>CETIN</a></h1>

<h2><a>прогнозирование трудоемкостии </a></h2>

<h2><a>стоимости создания</a></h2>

<h2><a>программного продукта</a></h2>

</div>

<div id= «menu»>

<ul>

<li><a href= «1.html»>Назначение методики</a></li>

<li><a href= «2.html»">Принципы расчета трудоемкости и стоимости</a></li>

<li><a href= «3.html»">Основные процессы разработки</a></li>

<li><a href= «4.html»">Функциональный размер ИС</a></li>

<li><a href= «5.html»">Процесс расчета разработки ППО</a></li>

<li><a href= «6.html»">Демонстрация программы</a></li>

</ul>

</div>

</div>

<! - end header ->

<! - start page ->

<div id= «page»>

<! - start content ->

<div id= «content»>

<! - start latest-post ->

<div id= «latest-post» class= «post»>

<h1 class= «title»>Назначение методики</h1>

<hr>

<ul>

<li>Расчет трудоемкости разработки ИС</li>

<li>Расчет стоимости разработки ИС</li>

<li>Расчет срока разработки ИС</li>

<li>Расчет трудоемкости развития ИС</li>

<li>Расчет стоимости развития ИС</li>

<li>Расчет стоимости годового сопровождения ИС</li>

</ul>

<hr>

</div>

</body>

</html>

2 страница.

<html>

<head>

<title>CETIN</title>

<link href= «default.css» rel= «stylesheet» type= «text/css» />

</head>

<body>

<! - start header ->

<div id= «header»>

<div id= «logo»>

<h1>CETIN</a></h1>

<h2><a>прогнозирование трудоемкостии </a></h2>

<h2><a>стоимости создания</a></h2>

<h2><a>программного продукта</a></h2>

</div>

<div id= «menu»>

<ul>

<li><a href= «1.html»>Назначение методики</a></li>

<li><a href= «2.html»">Принципы расчета трудоемкости и стоимости</a></li>

<li><a href= «3.html»">Основные процессы разработки</a></li>

<li><a href= «4.html»">Функциональный размер ИС</a></li>

<li><a href= «5.html»">Процесс расчета разработки ППО</a></li>

<li><a href= «6.html»">Демонстрация программы</a></li>

</ul>

</div>

</div>

<! - end header ->

<! - start page ->

<div id= «page»>

<! - start content ->

<div id= «content»>

<! - start latest-post ->

<div id= «latest-post» class= «post»>

<h1 class= «title»>Принципы расчета трудоемкости и стоимости</h1>

<hr>

<ul>

<li>Принцип поддержки жизненого цикла</li>

<li>Принцип измерения функционального размера</li>

<li>Принцип универсальности</li>

<li>Принцип улучшающейся оценки</li>

<li>Принцип учета технологии производства программного обеспечения</li>

</ul>

<hr>

</div>

</body>

</html>

3 страница.

<html>

<head>

<title>CETIN</title>

<link href= «default.css» rel= «stylesheet» type= «text/css» />

</head>

<body>

<! - start header ->

<div id= «header»>

<div id= «logo»>

<h1>CETIN</a></h1>

<h2><a>прогнозирование трудоемкостии </a></h2>

<h2><a>стоимости создания</a></h2>

<h2><a>программного продукта</a></h2>

</div>

<div id= «menu»>

<ul>

<li><a href= «1.html»>Назначение методики</a></li>

<li><a href= «2.html»">Принципы расчета трудоемкост и стоимости</a></li>

<li><a href= «3.html»">Основные процессы разработки</a></li>

<li><a href= «4.html»">Функциональный размер ИС</a></li>

<li><a href= «5.html»">Процесс расчета разработки ППО</a></li>

<li><a href= «6.html»">Демонстрация программы</a></li>

</ul>

</div>

</div>

<! - end header ->

<! - start page ->

<div id= «page»>

<! - start content ->

<div id= «content»>

<! - start latest-post ->

<div id= «latest-post» class= «post»>

<h1 class= «title»>Основные процессы разработки</h1>

<hr>

<ul>

<li>Бизнес моделирование</li>

<li>Управление требованиями</li>

<li>Проектирование</li>

<li>Реализация</li>

<li>Тестирование</li>

<li>Развертывание</li>

</ul>

<hr>

</div>

</body>

</html>

4 страница.

<html>

<head>

<title>CETIN</title>

<link href= «default.css» rel= «stylesheet» type= «text/css» />

</head>

<body>

<! - start header ->

<div id= «header»>

<div id= «logo»>

<h1>CETIN</a></h1>

<h2><a>прогнозирование трудоемкостии </a></h2>

<h2><a>стоимости создания</a></h2>

<h2><a>программного продукта</a></h2>

</div>

<div id= «menu»>

<ul>

<li><a href= «1.html»>Назначение методики</a></li>

<li><a href= «2.html»">Принципы расчета трудоемкости и стоимости</a></li>

<li><a href= «3.html»">Основные процессы разработки</a></li>

<li><a href= «4.html»">Функциональный размер ИС</a></li>

<li><a href= «5.html»">Процесс расчета разработки ППО</a></li>

<li><a href= «6.html»">Демонстрация программы</a></li>

</ul>

</div>

</div>

<! - end header ->

<! - start page ->

<div id= «page»>

<! - start content ->

<div id= «content»>

<! - start latest-post ->

<div id= «latest-post» class= «post»>

<h1 class= «title»>Функциональный размер ИС</h1>

<hr>

<ul>

<li>Колличество вариантов использования (Case) - C</li>

<li>Колличество типов объектов (бизнес объектов) (Entity) - E</li>

<li>Колличество свойств типов объектов(Yool) - T</li>

<li>Колличество взаимодействий между типами объектов (Interaction) - I</li>

<li>Колличество типов узлов(Node) - N</li>

</ul>

<hr>

</div>

</body>

</html>

5 страница.

<html>

<head>

<title>CETIN</title>

<link href= «default.css» rel= «stylesheet» type= «text/css» />

</head>

<body>

<! - start header ->

<div id= «header»>

<div id= «logo»>

<h1>CETIN</a></h1>

<h2><a>прогнозирование трудоемкостии </a></h2>

<h2><a>стоимости создания</a></h2>

<h2><a>программного продукта</a></h2>

</div>

<div id= «menu»>

<ul>

<li><a href= «1.html»>Назначение методики</a></li>

<li><a href= «2.html»">Принципы расчета трудоемкости и стоимости</a></li>

<li><a href= «3.html»">Основные процессы разработки</a></li>

<li><a href= «4.html»">Функциональный размер ИС</a></li>

<li><a href= «5.html»">Процесс расчета разработки ППО</a></li>

<li><a href= «6.html»">Демонстрация программы</a></li>

</ul>

</div>

</div>

<! - end header ->

<! - start page ->

<div id= «page»>

<! - start content ->

<div id= «content»>

<! - start latest-post ->

<div id= «latest-post» class= «post»>

<h1 class= «title»>Процесс расчета разработки ППО</h1>

<hr>

<ul>

<li>Оценка функционального размера разрабатываемой ИС</li>

<li>Оценка базовой трудоемкости разработки ППО</li>

<li>Определение значений поправочных коэффициентов трудоемкости</li>

<li>Расчет трудоемкости разработки ППО с учетом поправочных коэффициентов</li>

<li>Оценка срока разработки ППО</li>

<li>Корректировка трудоемкости разработки ППо при уменьшении срока разработки</li>

<li>Оценка стоимости разработки ППО</li>

</ul>

<hr>

</div>

</body>

</html>

6 страница.

<html>

<head>

<title>CETIN</title>

<link href= «default.css» rel= «stylesheet» type= «text/css» />

</head>

<body>

<! - start header ->

<div id= «header»>

<div id= «logo»>

<h1>CETIN</a></h1>

<h2><a>прогнозирование трудоемкостии </a></h2>

<h2><a>стоимости создания</a></h2>

<h2><a>программного продукта</a></h2>

</div>

<div id= «menu»>

<ul>

<li><a href= «1.html»>Назначение методики</a></li>

<li><a href= «2.html»">Принципы расчета трудоемкости и стоимости</a></li>

<li><a href= «3.html»">Основные процессы разработки</a></li>

<li><a href= «4.html»">Функциональный размер ИС</a></li>

<li><a href= «5.html»">Процесс расчета разработки ППО</a></li>

<li><a href= «6.html»">Демонстрация программы</a></li>

</ul>

</div>

</div>

<! - end header ->

<! - start page ->

<div id= «page»>

<! - start content ->

<div id= «content»>

<! - start latest-post ->

<div id= «latest-post» class= «post»>

<h1 class= «title»>Демонстрация программы</h1>

<hr>

<div class= «gallery»>

<a tabindex= «1»><img src= «11.jpg»></a>

<a tabindex= «2»><img src= «12.jpg»></a>

<a tabindex= «3»><img src= «13.jpg»></a>

<a tabindex= «4»><img src= «14.jpg»></a>

<a tabindex= «5»><img src= «15.jpg»></a>

<a tabindex= «6»><img src= «16.jpg»></a>

<a tabindex= «7»><img src= «17.jpg»></a>

<a tabindex= «8»><img src= «18.jpg»></a>

<a tabindex= «9»><img src= «19.jpg»></a>

<a tabindex= «10»><img src= «110.jpg»></a>

<a tabindex= «11»><img src= «111.jpg»></a>

</div>

<hr>

</div>

</body>

</html>

Файл CSS

body {

margin: 0;

padding: 0;

background: #FFFFFF url (images/img01.jpg) repeat-x;

font-family: «Trebuchet MS», Arial, Helvetica, sans-serif;

font-size: 13px;

color: #666666;

}

form {

margin: 0;

padding: 0;

}

fieldset {

margin: 0;

padding: 0;

border: none;

}

input, textarea, select {

font: normal 1em «Trebuchet MS», Arial, Helvetica, sans-serif;

}

h1, h2 {

font-weight: normal;

color: #7CD300;

}

h1 {

letter-spacing: -1px;

font-size: 2.6em;

}

h2 {

font-size: 1.8em;

}

h3 {

font-size: 2em;

font-weight: bold;

}

p, ul, ol {

}

p {

}

blockquote {

font-style: italic;

}

ul {

}

ol {

}

a {

color: #7CD300;

}

a:hover {

text-decoration: none;

}

small {

}

hr {

display: none;

}

img {

border: none;

}

img.left {

float: left;

margin: 0 15px 0 0;

}

img.right {

float: left;

margin: 0 0 0 15px;

}

/* Header */

#header {

width: 920px;

height: 160px;

margin: 0 auto;

}

/* Logo */

#logo {

float: left;

}

#logo h1, #logo h2 {

margin: 0;

text-transform: lowercase;

}

#logo h1 {

padding-top: 52px;

font-size: 4em;

color: #554D49;

}

#logo h1 a {

color: #554D49;

}

#logo h2 {

margin-top: -10px;

padding-left: 1px;

letter-spacing: -1px;

font-size: 1.8em;

color: #7F7772;

}

#logo h2 a {

color: #7F7772;

}

#logo a {

text-decoration: none;

}

/* Menu */

#menu {

float: right;

}

#menu ul {

margin: 0;

padding: 40px 0 0 0;

list-style: none;

}

#menu li {

display: inline;

}

#menu a {

display: block;

float: left;

width: 184px;

height: 100px;

padding-top: 30px;

background: #73D000 url (images/img02111.jpg) no-repeat;

text-align: center;

text-decoration: none;

text-transform: lowercase;

font-size: 1.5em;

color: #FFFFFF;

}

/* Page */

#page {

width: 980px;

margin: 0 auto;

padding-top: 20px;

}

#latest-post {

float: left;

width:1000px;

}

post.title {

margin: 0;

}

post.meta {

margin: 0;

padding-bottom: 10px;

line-height: normal;

font-family: Arial, Helvetica, sans-serif;

color: #BABABA;

}

post.meta a {

color: #BABABA;

}

post.entry {

margin-bottom: 10px;

padding-bottom: 5px;

}

gallery a img {

/* округления старт */

- webkit-border-radius: 25px;

- moz-border-radius: 25px;

border-radius: 25px;

/* округления конец */

/* transition старт */

- webkit-transition: All 1s ease;

- moz-transition: All 1s ease;

- o-transition: All 1s ease;

transition: all 1.0s ease;

/* transition конец */

/* Тень старт */

- webkit-box-shadow: 0px 2px 4px 1px #DFDFDF;

- moz-box-shadow: 0px 2px 4px 1px #DFDFDF;

box-shadow: 0px 2px 4px 1px #DFDFDF;

/* Тень конец */

/* Прозрачнсоть старт */

- moz-opacity: 0.70;

opacity: 0.70;

- ms-filter: «progid:DXImageTransform. Microsoft. Alpha» (Opacity=70);

/* Прозрачнсоть конец */

margin-right:5px; /* Отступ справа */

padding:10px; /* Внутренние отступы */

display:inline-block; /* отображение */

height:150px; /* Высота */

}

gallery a img:hover {

- moz-opacity: 1;

opacity: 1;

- ms-filter: «progid:DXImageTransform. Microsoft. Alpha» (Opacity=100);

}

gallery a:focus img {

position: relative; /* Позиционирование */

height:500px; /* Высота */

cursor: pointer; /* Вид курсора */

/* transition старт */

- webkit-transition: All 1s ease;

- moz-transition: All 1s ease;

- o-transition: All 1s ease;

transition: all 1.0s ease;

/* transition конец */

/* Тень старт */

- webkit-box-shadow: 0px 4px 4px 1px #DFDFDF;

- moz-box-shadow: 0px 4px 4px 1px #DFDFDF;

box-shadow: 0px 4px 4px 1px #DFDFDF;

/* Тень конец */

}

Размещено на Allbest.ru


Подобные документы

  • Обзор и анализ существующих методик управления проектами и оценки трудоемкости. Разработка алгоритма задания параметров и вычисления трудоемкости и стоимости программного продукта. Отладка и тестирование продукта. Разработка руководства пользователя.

    дипломная работа [2,5 M], добавлен 18.11.2017

  • Этапы разработки и отладки приложения "Помощь почтальону". Составление сопроводительной документации. Выбор средств и методов программирования. Анализ проектных данных. Особенности создания базы данных, СУБД. Тестирование созданного программного продукта.

    контрольная работа [2,5 M], добавлен 17.12.2014

  • Основные требования к составу и параметрам технических средства. Верификация программного продукта. Расширение функционала программы и его реализация. Отладка и тестирование программного продукта. Тестирование программы в граничных и реальных условиях.

    курсовая работа [1,3 M], добавлен 29.12.2014

  • Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.

    дипломная работа [1008,9 K], добавлен 13.10.2013

  • Технологии разработки программного обеспечения. Процедура постановки задачи, определения требований. Последовательность действий логической, разветвленной и циклической структуры. Терминология программирования. Этапы создания программного продукта.

    презентация [793,8 K], добавлен 15.11.2010

  • Обзор существующих решений и обоснование выбора языка программирования. Разработка структурной схемы, интерфейса программного продукта. Технические требования к оборудованию, тест программного продукта, руководство системного программиста и оператора.

    дипломная работа [2,0 M], добавлен 10.07.2012

  • Выбор инструментария программирования, технология создания электронного учебника. Установка программного продукта, инструкция пользователя по сопровождению. Набор тестов и тестирование, протокол ошибок. Расчёт цены и себестоимости программного продукта.

    курсовая работа [1,9 M], добавлен 09.12.2010

  • Анализ предметной области разрабатываемого программного продукта. Разработка интерфейса пользователя и структурной схемы игровой программы "Крестики-нолики". Отладка и тестирование. Проведение исследования компонентов программной среды Borland Delphi 6.0.

    курсовая работа [660,4 K], добавлен 08.03.2015

  • Характеристика программного продукта и стадий разработки. Расчет затрат на разработку и договорной цены, эксплуатационных расходов, связанных с использованием нового программного продукта. Оценка конкурентоспособности. Изучение, оценка рыночного спроса.

    курсовая работа [139,0 K], добавлен 22.09.2008

  • Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.

    дипломная работа [1,5 M], добавлен 12.06.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.