Рис. 2.6. Условные графические обозначения операторов универсального языка моделирования UML
Рис. 2.7. Блок схема алгоритма структурного проектирования
Рис. 2.8. Блок схема алгоритма разработки и тестирования программного обеспечения встраиваемой системы
2.8. Пример применения
Основная идея, которую мы стремились развить на протяжении всей этой главы, состоит в том, что подлежащая реализации большая задача должна быть разбита на ряд малых взаимосвязанных задач. Идея декомпозиции задач лежит в основе метода структурного проектирования, который в равной степени применим к проектированию, как аппаратных, так и программных средств, что делает его особенно полезным при разработке встраиваемых систем. Более того, этот метод может быть использован на этапе постановки задачи, который предшествует структурному проектированию аппаратных и программных средств системы.
В качестве темы дипломного проектирования одному из авторов этой книги было предложено разработать систему управления медицинским лазером для лечения различных расстройств зрения. Около шести месяцев он провел в библиотеке, изучая технологии лазерной глазной хирургии. В итоге, его представления о функциях контроллера управления хирургическим лазером изменились коренным образом в сторону их увеличения. Результаты своего исследования автор воплотил в структурной схеме рис. 2.9, которая отражает все возможные функции системы автоматизированного управления хирургическим лазером и их взаимосвязь в проекте. Обратите внимание, что в данном случае метод структурного проектирования использован для систематизации функций системы управления, когда задачи проектирования аппаратного и программного обеспечения системы еще не поставлены.
Рис. 2.9. Структура функций медицинского лазера
2.9. Заключение по главе 2
В этой главе мы провели сравнительный анализ преимуществ и недостатков языка ассемблер и языков программирования высокого уровня для разработки программного обеспечения встраиваемых систем. Среди языков высокого уровня мы сделали выбор в пользу языка Си, способного генерировать программный код, сравнимый по быстродействию и затратам памяти с кодом языка ассемблер. Мы установили, что оптимальный результат может быть получен при программировании встраиваемых систем одновременно на Си и на ассемблере. Мы кратко познакомились с методом структурного проектирования и универсальным языком моделирования UML. Мы также познакомились с применениями метода структурного проектирования для определения функций управления медицинским лазером и для разработки структуры программного обеспечения контроллера стереоусилителя. Мы кратко рассмотрели условные графические обозначения операторов UML и познакомились с примерами описания алгоритмов посредством составления блок схемы алгоритма из операторов UML.
2.10 Что еще почитать?
1. Dale, Nell, and Susan С. Lilly. Pascal Plus Data Structures. 4th ed. Englewood Cliffs, NJ: Jones and Bartlett, 1995.
2. Douglass, Bruce Powel. Real Time UML Developing Efficient Objects for Embedded Systems. 2nd ed. Boston: Addison Wesley, 2000.
3. Fowler, Martin, with Kendall Scott. «UML Distilled A Brief Guide to the Standard Object Modeling Language. 2nd ed. Boston: Addison Wesley, 2000.
4. Kobryn, Chris. «UML 2001.» Communications of the ACM 42, no. 10, (October 1999): 29–37.
5. МсСоnnасk, J. В., R. K. Morrow, H. F. Bare, R. J. Bums, and R. L. Rasmussen «The Complementary Roles of Laboratory Notebooks and Laboratory Reports.» Paper presented at the annual meeting of the American Society for Engineering Educators Toronto, Canada, 1990.
6. Pack, Daniel, and Steven Barrett. 68HC12: Theory and Applications. Upper Saddle River, NJ: Prentice Hall, 2002.
7. Page Jones, Meilir. The Practical Guide to Structured Systems Design. 2nd ed. Upper Saddle River, NJ: Yourdon Press, 1988.
8. Ritchie, Dennis M. «The Development of the С Language.» Paper presented at а meeting of the Association for Computing Machinery, Second History of Programming Languages Conference, Cambridge, МА, 1993.
9. Wakerly, John F. Digital Design Principles and Practices. 3rd ed. Upper Saddle River, NJ: Prentice Hall, 2000.