Материал: Разработка коммерческого сайта Кардымовского лесничества

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

.     Требование к эффективности, то есть получение выходных данных с минимальными расходами машинного времени.

2.      Требование к мобильности, то есть возможность эффективного использования сайта при различных системных требованиях.

.        Требование к лёгкости восприятия, то есть для пользователя должен быть понятен принцип работы с сайтом. Сайт должен иметь дружественный интерфейс.

.        Требование к надёжности. Должны быть обеспечены восстановление после сбоев и ошибок, контроль ввода данных при заполнении форм.

.        Требования к эксплуатации, то есть требования к аппаратным и программным средствам, необходимым для эффективного функционирования сайта.

.        Требования к тестированию. Необходимо провести следующие тесты:

-    Тестирование работоспособности сайта на разных ОС.

-       Тестирование работоспособности сайта при разном разрешении экрана.

-       Тестирование скорости работы сайта в разных браузерах.

-       Тестирование доступа ко всем страницам.

-       Тестирование работоспособности сайта на мобильных устройствах.

-       Тестирование формы обратной связи.

В процессе тестирования отследить ошибки размещения объектов на страницах и ошибки работы.

.     Требования к функциональным характеристикам: предоставление достоверной информации по всем продаваемым продуктам.

8.      Требования к структуре: иерархия в навигационной системе сайта должна соответствовать содержимому страниц, количество страниц достаточное, но не избыточное.

Требования к документации сайта

Состав документации:

-    Техническое задание.

-       Руководство системного программиста.

-       Руководство пользователей групп: администратор, гость, разработчик проекта.

Стадии и этапы разработки:

a)   сбор необходимой информации;

b)      разбиение информации на логические блоки;)         выбор программных средств разработки;)       формирование логической структуры страниц;)      выбор графического оформления страниц;) разработка сайта;)       тестирование.

Был разработан дизайн, выполнено тестирование и написано техническое задание.

Благодаря техническому заданию можно добиться взаимопонимания с заказчиком и иметь четкое представление, что хочет заказчик и что возможно реализовать еще перед началом работы.

Заключение


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

Сама разработка должна выполнятся с учетом постановки задач проектирования. Должны быть выполнены следующие этапы: разработка шаблона, верстка, разработка интерфейса, подключение к БД, оптимизация, тестирование и отладка проекта, создание сопроводительной документации.

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

Список использованных источников


1.   Типовые нормы времени на программирование задач для ЭВМ - Москва Экономика 1989г.-125с.

2.      ГОСТ 19.001-77 Единая система программной документации. Общие положения.

.        ГОСТ 19.201-78. ЕСПД. Техническое задание. Требования к содержанию и оформлению.

.        ГОСТ 19.301-79. ЕСПД. Программа и методика испытаний. Требования к содержанию и оформлению.

.        Работа с базами данных в Delphi. Цифровая книга. Анатолий Хомоненко, Владимир Гофман. Издательство: БХВ-Петербург. Серия: Профессиональное программирование.ISBN 5-94157-361-8; 2005 г.

.        Рудаков А. В. Технология разработки программных продуктов: практикум: учебник для СПО / А.В. Рудаков, Г. Н. Федорова. - 4-е изд., Стереотип. - Москва: Академия, 2014. - 190 с.

.        Рудаков А. В. Технология разработки программных продуктов: учебник для СПО по специальности «ПО ВТ и АС» / А.В. Рудаков. - 8-е изд., Стереотип. - Москва: Академия, 2013. - 207 с.

.        Основы программирования в DelphiXE.Цифровая книга. Никита Культин. Издательство: БХВ-Петербург. Серия: Самоучитель. ISBN 978-5-9775-0683-0; 2011 г.

Приложение


Фрагменты листингов сайта:

Основной код:

<?php

/**

* Custom theme functions.

*

* This file contains hook functions attached to theme hooks.

*

* @package

*/( ! function_exists( 'clean_commerce_skip_to_content' ) ) :

/**

* Add Skip to content.

*

* @since 1.0.0

*/clean_commerce_skip_to_content() {

?><a>

};_action( 'clean_commerce_action_before', 'clean_commerce_skip_to_content', 15 );( ! function_exists( 'clean_commerce_site_branding' ) ) :

/**

* Site branding.

*

* @since 1.0.0

*/clean_commerce_site_branding() {

?>

<div>

<?php clean_commerce_the_custom_logo(); ?>

<?php $show_title = clean_commerce_get_option( 'show_title' ); ?>

<?php $show_tagline = clean_commerce_get_option( 'show_tagline' ); ?>

<?php if ( true === $show_title || true === $show_tagline ) : ?>

<div id="site-identity">

<?php if ( true === $show_title ) : ?>

<?php if ( is_front_page() && is_home() ) : ?>

<h1>

<?php else : ?>

<p>

<?php endif; ?>

<?php endif; ?>

<?php if ( true === $show_tagline ) : ?>

<p>

<?php endif; ?>

</div><!-- #site-identity -->

<?php endif; ?>

</div><!-- .site-branding -->

<div id="right-header">

<?php if ( has_nav_menu( 'header' ) ) : ?>

<?php

wp_nav_menu( array(

'theme_location' => 'header',

'container' => 'nav',

'container_id' => 'header-nav',

'depth' => 1,

) );

?>

<?php endif; ?>

<?php if ( clean_commerce_is_woocommerce_active() ) : ?>

<div id="cart-section">

<ul>

<li>

<a href="<?php echo esc_url( get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ) ); ?>"><?php echo is_user_logged_in() ? esc_html__( 'My Account', 'clean-commerce' ) : esc_html__( 'Login / Register', 'clean-commerce' ) ; ?></a>

</li>

<li>

<li>

</ul>

</div> <!-- .cart-section -->

<?php endif; ?>

</div> <!-- #right-header -->

<?php

};_action( 'clean_commerce_action_header', 'clean_commerce_site_branding' );( ! function_exists( 'clean_commerce_add_primary_navigation' ) ) :

/**

* Primary navigation.

*

* @since 1.0.0

*/clean_commerce_add_primary_navigation() {

?>

<div id="main-nav">

<div>

<nav id="site-navigation">

<div>

<?php_nav_menu( array(

'theme_location' => 'primary',

'menu_id' => 'primary-menu',

'fallback_cb' => 'clean_commerce_primary_navigation_fallback',

) );

?>

</div><!-- .menu-content -->

</nav><!-- #site-navigation -->

<?php $search_in_header = clean_commerce_get_option( 'search_in_header' ); ?>

<?php if ( true === $search_in_header ) : ?>

<div>

<a href="#">

<div>

<?php get_search_form(); ?>

</div><!-- .search-box-wrap -->

</div><!-- .header-search-box -->

<?php endif; ?>

</div> <!-- .container -->

</div> <!-- #main-nav -->

<?php

};_action( 'clean_commerce_action_after_header', 'clean_commerce_add_primary_navigation', 20 );( ! function_exists( 'clean_commerce_mobile_navigation' ) ) :

/**

* Mobile navigation.

*

* @since 1.0.0

*/clean_commerce_mobile_navigation() {

?>

<div>

<a id="mobile-trigger" href="#mob-menu"><i>

<div id="mob-menu">

<?php_nav_menu( array(

'theme_location' => 'primary',

'container' => '',

'fallback_cb' => 'clean_commerce_primary_navigation_fallback',

) );

?>

</div><!-- #mob-menu -->

<?php if ( has_nav_menu( 'header' ) ) : ?>

<a id="mobile-trigger2" href="#mob-menu2"><i>

<div id="mob-menu2">

<?php_nav_menu( array(

'theme_location' => 'header',

'container' => '',

) );

?>

<?php endif; ?>

</div><!-- .mobile-nav-wrap -->

<?php

};_action( 'clean_commerce_action_before', 'clean_commerce_mobile_navigation', 20 );( ! function_exists( 'clean_commerce_footer_copyright' ) ) :

/**

* Footer copyright.

*

* @since 1.0.0

*/clean_commerce_footer_copyright() {

// Check if footer is disabled.

$footer_status = apply_filters( 'clean_commerce_filter_footer_status', true );( true !== $footer_status ) {;

}

// Copyright content.

$copyright_text = clean_commerce_get_option( 'copyright_text' );

$copyright_text = apply_filters( 'clean_commerce_filter_copyright_text', $copyright_text );( ! empty( $copyright_text ) ) {

$copyright_text = wp_kses_data( $copyright_text );

}

// Powered by content.

$powered_by_text = sprintf( esc_html__( ' %s', '' ), '<a target="_blank" rel="designer" href="https://vk.com/warrantty">' . esc_html__( '', '' ) . '</a>' );

$show_social_in_footer = clean_commerce_get_option( 'show_social_in_footer' );

$column_count = 0;( $copyright_text ) {

$column_count++;

}( $powered_by_text ) {

$column_count++;

}( true === $show_social_in_footer && has_nav_menu( 'social' ) ) {

$column_count++;

}

?>

<div>

<?php if ( ! empty( $copyright_text ) ) : ?>

<div>

<div>

<?php echo $copyright_text; ?>

</div><!-- .copyright -->

</div><!-- .colophon-column -->

<?php endif; ?>

<?php if ( true === $show_social_in_footer && has_nav_menu( 'social' ) ) : ?>

<div>

<div>

<?php the_widget( 'Clean_Commerce_Social_Widget' ); ?>

</div><!-- .footer-social -->

</div><!-- .colophon-column -->

<?php endif; ?>

<?php if ( ! empty( $powered_by_text ) ) : ?>

<div>

<div>

<?php echo $powered_by_text; ?>

</div><!-- .site-info -->

</div><!-- .colophon-column -->

<?php endif; ?>

</div><!-- .colophon-inner -->

<?php

};_action( 'clean_commerce_action_footer', 'clean_commerce_footer_copyright', 10 );( ! function_exists( 'clean_commerce_add_sidebar' ) ) :

/**

* Add sidebar.

*

* @since 1.0.0

*/clean_commerce_add_sidebar() {$post;

$global_layout = clean_commerce_get_option( 'global_layout' );

$global_layout = apply_filters('clean_commerce_filter_theme_global_layout', $global_layout );

// Check if single.( $post && is_singular() ) {

$post_options = get_post_meta( $post->ID, 'clean_commerce_theme_settings', true );( isset( $post_options['post_layout'] ) && ! empty( $post_options['post_layout'] ) ) {

$global_layout = $post_options['post_layout'];

}

}

// Include primary sidebar.( 'no-sidebar' !== $global_layout ) {_sidebar();

}

};_action( 'clean_commerce_action_sidebar', 'clean_commerce_add_sidebar' );( ! function_exists( 'clean_commerce_custom_posts_navigation' ) ) :

/**

* Posts navigation.

*

* @since 1.0.0

*/clean_commerce_custom_posts_navigation() {_posts_pagination();

};_action( 'clean_commerce_action_posts_navigation', 'clean_commerce_custom_posts_navigation' );( ! function_exists( 'clean_commerce_add_image_in_single_display' ) ) :

/**

* Add image in single post.

*

* @since 1.0.0

*/clean_commerce_add_image_in_single_display() {$post;( has_post_thumbnail() ) {

$values = get_post_meta( $post->ID, 'clean_commerce_theme_settings', true );

$clean_commerce_theme_settings_single_image = isset( $values['single_image'] ) ? esc_attr( $values['single_image'] ) : '';( ! $clean_commerce_theme_settings_single_image ) {

$clean_commerce_theme_settings_single_image = clean_commerce_get_option( 'single_image' );

}( 'disable' !== $clean_commerce_theme_settings_single_image ) {

$args = array(

'class' => 'aligncenter',

);_post_thumbnail( esc_attr( $clean_commerce_theme_settings_single_image ), $args );

}

}

};_action( 'clean_commerce_single_image', 'clean_commerce_add_image_in_single_display' );( ! function_exists( 'clean_commerce_add_breadcrumb' ) ) :

/**

* Add breadcrumb.

*

* @since 1.0.0

*/clean_commerce_add_breadcrumb() {

// Bail if Home Page.( is_front_page() || is_home() ) {;

}'<div id="breadcrumb"><div>

};_action( 'clean_commerce_action_before_content', 'clean_commerce_add_breadcrumb' , 7 );( ! function_exists( 'clean_commerce_footer_goto_top' ) ) :

/**

* Go to top.

*

* @since 1.0.0

*/clean_commerce_footer_goto_top() {'<a href="#page">

};_action( 'clean_commerce_action_after', 'clean_commerce_footer_goto_top', 20 );( ! function_exists( 'clean_commerce_header_top_content' ) ) :

/**

* Header Top.

*

* @since 1.0.0

*/clean_commerce_header_top_content() {

$contact_number = clean_commerce_get_option( 'contact_number' );

$contact_email = clean_commerce_get_option( 'contact_email' );

$show_social_in_header = clean_commerce_get_option( 'show_social_in_header' );( empty( $contact_number ) && empty( $contact_email ) ) {

$contact_status = false;

}{

$contact_status = true;

}( false === $contact_status && ( false === clean_commerce_get_option( 'show_social_in_header' ) || false === has_nav_menu( 'social' ) ) ) {;

}

?>

<div id="tophead">

<div>

<div id="quick-contact">

<ul>

<?php if ( ! empty( $contact_number ) ) :

$cnumber_clean = preg_replace( '/\D+/', '', esc_attr( $contact_number ) ); ?>

<li>

<a href="<?php echo esc_url( 'tel:' . $cnumber_clean ); ?>"><?php echo esc_html( $contact_number ); ?></a>

</li>

<?php endif; ?>

<?php if ( ! empty( $contact_email ) ) : ?>

<li>

<a href="<?php echo esc_url( 'mailto:' . $contact_email ); ?>"><?php echo esc_html( antispambot( $contact_email ) ); ?></a>

</li>

<?php endif; ?>

</ul>

</div> <!-- #quick-contact -->

<?php if ( true === $show_social_in_header && has_nav_menu( 'social' ) ) : ?>

<div>

<?php the_widget( 'Clean_Commerce_Social_Widget' ); ?>

</div><!-- .header-social-wrapper -->

<?php endif; ?>

</div> <!-- .container -->

</div><!-- #tophead -->

<?php

};_action( 'clean_commerce_action_before_header', 'clean_commerce_header_top_content', 5 );

Боковой сайдбар:

<?php

/**

* The Primary Sidebar.

*

*

* @package Clean_Commerce

*/

?>

<?php $default_sidebar = apply_filters( 'clean_commerce_filter_default_sidebar_id', 'sidebar-1', 'primary' ); ?>

<div id="sidebar-primary">

<?php if ( is_active_sidebar( $default_sidebar ) ) : ?>

<?php dynamic_sidebar( $default_sidebar ); ?>

<?php else : ?>

<?php

/**

* Hook - clean_commerce_action_default_sidebar.

*/_action( 'clean_commerce_action_default_sidebar', $default_sidebar, 'primary' );

?>

<?php endif; ?>

</div><!-- #sidebar-primary -->

Основной шаблон:

<?php

/**

* The main template file.

*

* This is the most generic template file in a WordPress theme

* and one of the two required files for a theme (the other being style.css).

* It is used to display a page when nothing more specific matches a query.

* E.g., it puts together the home page when no home.php file exists.

*

* @package Clean_Commerce

*/_header(); ?>

<div id="primary">

<main id="main">

<?php if ( have_posts() ) : ?>

<?php if ( is_home() && ! is_front_page() ) : ?>

<header>

<h1>

</header>

<?php endif; ?>

<?php /* Start the Loop */ ?>

<?php while ( have_posts() ) : the_post(); ?>

<?php get_template_part( 'template-parts/content' ); ?>

<?php endwhile; ?>

<?php

/**

* Hook - clean_commerce_action_posts_navigation.

*

* @hooked: clean_commerce_custom_posts_navigation - 10

*/_action( 'clean_commerce_action_posts_navigation' ); ?>

<?php else : ?>

<?php get_template_part( 'template-parts/content', 'none' ); ?>

<?php endif; ?>

</main><!-- #main -->

</div><!-- #primary -->

<?php

/**

* Hook - clean_commerce_action_sidebar.

*

* @hooked: clean_commerce_add_sidebar - 10

*/_action( 'clean_commerce_action_sidebar' );

?>

<?php get_footer(); ?>

Рисунок Б.1 - Главная

Рисунок Б.2 - Услуги

Рисунок Б.3 - Новости

Рисунок Б.4 - Обратная связь

Рисунок Б.5 - О нас

Рисунок Б.6 - Корзина

Рисунок Б.7 - Мой аккаунт

Рисунок Б.8 - Оформление заказа

Рисунок Б.9 - Способ оплаты

Рисунок Б.10 - Доставка

Рисунок Б.11 - Где забрать