ИГА. Понятие базы данных
Скачать 0.77 Mb.
|
Модель СММ.При любых изменениях структуры организации и приемов работы необходимо иметь критерии, позволяющие оценить их эффект, методы измерения качества организации. В настоящее время существуют две общепринятые методики оценки состояния процесса разработки программного обеспечения в организации. Это международный стандарт ISO 9001 и модель CMM -SEI (Capability Maturity Model ), разработанная в институте SEI (Software EngineeringInstitute ). В 1986 г. институт SEI — подразделение университета Карнеги-Меллона — с помощью корпорации Митре начал разработку основ модели эффективного процесса изготовления программ. Характеризуя такой процесс, авторы употребляют понятие «зрелость», которое означает не только эффективность, но и устойчивость, надежность процесса. Первоначальная версия модели, которая получила название СММ (Capability Maturity Model ), была выпущена в конце 1987 г. и описана в работе. После этого модель несколько раз перерабатывалась, и сейчас готовится версия 2.0 модели СММ. В соответствии с этой моделью организация может находиться на одном из пяти «уровней зрелости». Для первого, начального, уровня характерен спонтанный и иногда хаотический процесс разработки программ. Процедуры разработки не определены, и успех зависит от индивидуальных усилий и героизма работников. Второй уровень, названный повторяющимся,характеризуется тем, что в организации имеются основные процессы управления, позволяющие отслеживать как функциональные характеристики разрабатываемой системы, так и график работ и их стоимость. Организация способна повторить успешную разработку проекта при работе над новым проектом с аналогичными возможностями. Третий уровень называется определенным. Организации, находящиеся на этом уровне, документировали, стандартизовали и интегрировали в общий процесс управления все управленческие и инженерные задачи разработки программного обеспечения. Все проекты в организации используют утвержденные методы разработки и поддержки программ, адаптированные к конкретному проекту. Организации на четвертом уровне называются управляемыми. У них имеются способы детального измерения качества процесса и разрабатываемого продукта. Количественные характеристики процесса разработки и разрабатываемых систем хорошо изучены и управляемы. Пятый, высший, уровень зрелости организаций называется оптимизированным. На нем осуществляется непрерывное улучшение процесса разработки, основанное на количественных характеристиках выполненных и выполняемых проектов и на внедрении новых идей и технологий. Повышение зрелости идет от первого к пятому уровню. Подавляющее большинство организаций, занимающихся разработкой программного обеспечения, начинают с первого уровня (многие там и остаются). Незрелая организация не позволяет предсказывать ни срока завершения разработки, ни качества конечного продукта. Успех практически полностью зависит от опытности непосредственного руководителя и квалификации и таланта разработчиков. Процесс управления, если и создается, то создается по ходу выполнения проекта, ему не следуют, особенно во время часто случающихся кризисов и авралов. Не стоит думать, что такая организация не может успешно разработать программную систему, хотя, скорее всего график разработки не будет выполняться, и система будет стоить больше, чем планировалось сначала. Повторение успеха возможно только, если в разработке принимают участие те же самые разработчики. Для достижения уровней со второго и выше организации должны разработать определенные ключевые процессы. Ниже из материалов института SEIприведены ключевые процессы для каждого уровня. Ключевые процессы на различных уровнях модели СММ Следует отметить, что модель СММ специально обходит вопрос о подборе персонала. Она рассматривает разработку программного обеспечения как чисто производственный процесс. Организационная структура и процессы управления должны помогать наиболее эффективно проявляться способностям разработчиков. Сами процессы в различных организациях могут быть различны, так же как и используемые методы и технологии. Требованием является то, что они создают основу системы управления разработкой. Методологии проектирования программное обеспечение.Методы проектирования алгоритмов и программ очень разнообразны, их можно классифицировать по различным признакам, важнейшими из которых являются: степень автоматизации проектных работ; принятая методология процесса разработки. По степени автоматизации проектирования алгоритмов и программ можно выделить: методы традиционного (неавтоматизированного) проектирования; методы автоматизированного проектирования (CASE - технология и ее элементы) Неавтоматизированное проектирование алгоритмов и программ преимущественно используется при разработке небольших по трудоемкости и структурной сложности программных продуктов, не требующих участия большого числа разработчиков. Трудоемкость разрабатываемых программных продуктов, как правило, небольшая, а сами программные продукты имеют преимущественно прикладной характер. Автоматизированное проектирование позволяет уменьшить трудозатраты на проектные работы, сократить сроки их выполнения, создать типовые «заготовки» алгоритмов и программ, многократно тиражируемых для различных разработок, координировать работу большого коллектива разработчиков, стандартизировать алгоритмы и программы. Автоматизированный подход требует технического и программного «перевооружения» труда самих разработчиков (мощных компьютеров, дорогостоящего программного инструментария, а также повышения квалификации разработчиков и т.д.) Автоматизированное проектирование алгоритмов и программ под силу лишь крупным фирмам, специализирующимся на разработке определенного класса программных продуктов, занимающих устойчивое положение на рынке программных средств. Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены: структурное проектирование программных продуктов; информационное моделирование предметной области и связанных с ней приложений; объектно-ориентированное проектирование программных продуктов. В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие. Типичными методами структурного проектирования являются: нисходящее проектирование, кодирование и тестирование программ - последовательное разложение общей функции обработки данных на простые функциональные элементы; модульное программирование - разбиение программы на последовательность модулей, каждый из которых выполняет одну или несколько законченных функций; структурное программирование - использование при создании программного продукта типовых управляющих структур алгоритмов обработки данных. Основой информационного моделирования предметной области является положение об определяющей роли данных при проектировании алгоритмов и программ. Данный подход к проектированию программных продуктов появился благодаря появлению и развитию программных средств организации хранения и обработки данных - СУБД. Данный подход имеет следующие составляющие: информационный анализ предметных областей; информационное моделирование - построение комплекса взаимосвязанных моделей данных; системное проектирование функций обработки данных; детальное конструирование процедур обработки данных. Информационный анализ предметной области предполагает построение диаграммы потоков данных (информационно-технологических схем), показывающих процессы, происходящие в объекте информатизации и информационные потоки между ними. Информационное моделирование заключается в построении информационных моделей двух уровней представления: информационно-логическая модель, не зависящая от средств программной реализации хранения и обработки данных, отражающая интегрированные структуры данных предметной области; даталогическая модель, ориентированная на среду хранения и обработки данных. Средствами структур данных моделируются функции предметной области, прослеживается взаимосвязь функций обработки, уточняется состав входной и выходной информации, логика преобразования входных структур данных в выходные. Выбор средств реализации базы данных определяет вид даталогических моделей и, следовательно, алгоритмы преобразования данных. В большинстве случаев используется реляционное представление данных и соответствующие языки программирования. Объектно-ориентированный подход к проектированию программных продуктов основан на следующих принципах: выделение классов объектов; установление характерных свойств объектов и методов их обработки; создание иерархии классов, наследовании свойств объектов и методов их обработки. Каждый объект объединяет как данные, так и программу обработки этих данных и относится к определенному классу. С помощью класса один и тот же программный код можно использовать для относящихся к нему различных объектов. Традиционные подходы к разработке программных продуктов всегда подчеркивали различия между данными и процессами их обработки. Так, технологии, ориентированные на информационное моделирование, сначала специфицируют данные, а затем описывают процессы, использующие эти данные. Технологии структурного подхода ориентированы, в первую очередь, на процессы обработки данных с последующим установлением необходимых для этого данных и организации информационных потоков между связанными процессами. Объектно-ориентированная технология разработки программных продуктов объединяет данные и процессы в логические сущности - объекты. |