Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Средства сборки систем




 

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

Средства сборки систем могут быть как автономными, например соответствующие утилиты в системе Unix [114], так и интегрированными со средствами управления версиями. Как правило, CASE-средства сборки систем состоят из следующих компонентов.

 

1. Язык специфицирования зависимостей и соответствующий интерпретатор. Описывает и управляет зависимостями между системными компонентами и минимизирует возможные перекомпиляции.

2. Средства выбора и реализации. Это компиляторы и другие средства работы с файлами исходного кода.

3. Средства распределенной компиляции. Некоторые компоновщики систем, особенно интегрированные с системами управления конфигурациями, могут поддерживать распределенную (сетевую) компиляцию. Вместо выполнения всего процесса компиляции на одной машине компоновщик находит свободные процессоры в компьютерной сети и организует параллельную компиляцию. Это значительно сокращает время сборки системы.

4. Средство управления вторичными объектами. Вторичные – это объекты, которые создаются на основе других, исходных, объектов. Средство управления такими объектами связывает исходный код и вторичные объекты и создает новые объекты только тогда, когда изменяется исходный код.

 

Управление вторичными объектами и минимизацию количества перекомпиляций лучше всего объяснить на простом примере. Рассмотрим ситуацию, когда программа comp создается из объектных модулей scan.o, syn.o, sem.o и cgen.o. Для объектных модулей существуют модули, содержащие исходный код и имеющие имена соответственно scan.с, syn.c, sem.c и cgen.c. Эти модули используют общий файл объявлений defs.h. Зависимости между модулями показаны стрелками на рис. 29.6 (стрелки можно "прочитать" как "зависит от").

Допустим, в модуль scan.с внесены изменения. Система сборки должна определить, что вторичный объект scan.о необходимо создать заново, и вызвать соответствующий компилятор для перекомпиляции модуля scan.с и создания нового экземпляра объекта scan.o. Далее система сборки на основании связи между соmр и scan.o определяет, что необходимо заново создать также программу сотр путем связывания модулей scan.o, syn.o, sem.o и cgen.o. При этом система определяет, что объектный код других компонентов не изменялся, поэтому перекомпиляция их исходного кода не требуется.

 

Рис. 29.6. Схема зависимостей модулей

 

Некоторые системы сборки используют дату изменения файла как ключевой атрибут, определяющий, требуется или нет перекомпиляция. Если дата изменения файла исходного кода более поздняя, чем дата изменения соответствующего файла объектного кода, то этот объектный код необходимо создать заново. Это гарантирует, что вторичный объект будет создан на основе самой последней версии исходного кода. Если перекомпилируется ранняя версия исходного кода, то изменяется дата ее модификации и система сборки по этой дате определяет, какие компоненты должны быть перекомпилированы или созданы заново. Другие системы сборки используют более сложные подходы к управлению вторичными объектами. Они вводят дополнительный атрибут для вторичных объектов, где указывается версия исходного кода, на основе которого создан этот объект, и по возможности сохраняются все версии вторичных объектов. Это позволяет иметь объектный код всех версий исходного кода без дополнительной перекомпиляции.

КЛЮЧЕВЫЕ ПОНЯТИЯ

 

• Управление конфигурацией – это управление изменениями в программной системе. Основная роль команды по управлению конфигурацией заключается в правильном внесении изменений в систему.

• В больших проектах для отслеживания различных версий всех проектных документов разрабатывается и используется формальная схема именования документов.

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

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

• Выходная версия системы включает исполняемый код, файлы данных, конфигурационные файлы и документацию. Управление выходными версиями предусматривает определение даты выпуска системы, подготовку всей информации для распространения системы и документирование каждой выходной версии.

• Сборка системы – это процесс компоновки системных компонентов в виде исполняемой программы.

• Для поддержки процесса управления конфигурацией применяются CASE-средства. Они включают средства для управления версиями и изменениями и средства для сборки системы.

 

Упражнения

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

29.2. Используя модель "сущность-связь" или объектно-ориентированный подход (см. главу 7), разработайте модель базы данных конфигураций, которая должна содержать информацию о системных компонентах, их версиях, выходных версиях системы и об изменениях, реализованных в системе. База данных должна обладать следующими функциями:

• извлечение всех версий или отдельной указанной версии компонента;

• извлечение последней по времени изменения версии компонента;

• поиск запросов на изменения, которые были реализованы в указанной версии системы;

• определение версий компонентов, включенных в указанную версию системы;

• извлечение выходной версии системы, определяемой по дате выпуска или по имени заказчика, которому она поставлена.

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

29.4. Опишите трудности, которые могут встретиться при сборке системы. В частности, рассмотрите проблемы сборки системы на хост-компьютере.

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

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

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

29.8. Опишите два способа оптимизации процесса сборки системы из ее компонентов с помощью соответствующих CASE-средств компоновки систем.

Литература

 

1. Abbott R. Program design by informal English descriptions // Comm. ACM. – 1983. – 26 (11). – P. 882-976.

2. Abdel-Ghaly A. A., Chan P. Y. et al. Evalution of competing software reliability predictions // IEEE Trans, on Software Engineering. -1986. - SE-12 (9). - P. 950-1017.

3. Ackroyd S., Harper R. et al. Information Technology and Practical Police Work. - Milton Keynes: Open University Press, 1992.

4. Adams E. N. Optimizing preventative service of software products // IBM J. Res & Dev. - 1984. – 28 (1). -P. 2-16.

5. Aho A. V., Kernighan B. W. et al. The Awk Programming Language. - Englewood Cliffs, NJ: Prentice-Hall, 1988.

6. Albrecht A. J. Measuring application development productivity // SHARE/GUIDE IBM Application Development Symposium, 1979.

7. Albrecht A. J. and GaffneyJ. E. Software function, lines of code and development effort prediction: a software science validation // IEEE Trans, on Software Engineering. - 1983. - SE-9 (6). - P. 639-686.

8. Alexander C, Ishikawa S. at al. A Pattern Language. - Oxford: Oxford University Press, 1977.

9. Alford M. W. A requirements engineering methodology for real time processing requirements // IEEE Trans, on Software Engineering. - 1977. - SE-3 (1). - P. 60-69.

10. Alford M. W. SREM at the age of eight: the distributed computing design system // IEEE Computer. - 1985. - 18 (4). - P. 36-82.

11. AronJ. D. The Program Development Process. - Reading, MA: Addison-Wesley, 1974.

12. AronJ. D. The Program Development Process: Part 2-The Programming Team. - Reading, MA: Addison-Wesley, 1983.

13. Arthur L. J. Software Evolution. - New York: John Wiley and Sons, 1988.

14. Avizienis A. The N-Version Approach to Fault-Tolerant Software // IEEE Tram, on Software Engineering. - 1985. - SЕ-11 (12). - P. 1491-1992.

15. Avizienis A. A. A methodology of N-version programming. - In: Software Fault Tolerance (M. R. Lyu, ed.). - Chichester: John Wiley and Sons, 1995. - P. 23-69.

16. Baker F. T. Chief programmer team management of production programming // IBM Systems}. - 1972. - 11 (1). - P. 56-129.

17. Baker T. P. and Scallon G. M. An architecture for real-time software systems // IEEE Software. - 1986. - 3 (3). - P. 50-58.

18. Banker R. D., Datar S. M. et al. Software complexity and maintenance costs // Comm. ACM. - 1993. - 36 (11). - P. 81-175.

19. Banker R., Kauffman R. et al. An empirical test of object-based output measurement metrics in a computer-aided software engineering (CASE) environment ///. of Management Info. Sys. - 1992. - 8 (3). - P. 127-177.

20. Bansler J. P. and Bodker K. A reappraisal of structured analysis: design in an organizational context // ACM Trans, on Information Systers. - 1993. - 11 (2). - P. 165-258.

21. Barker R. CASE* Method: Entity Relationship Modelling. - Wokingham: AddisoModelling; Addison-Wesley, 1989.

22. Barnard J. and Price A. Managing code inspection information // IEEE Software. – 1994. – 11 (2). - P. 59-128.

23. Barnes J. Programming in Ada 95. - Harlow, Essex: Addison-Wesley, 1998.

24. Barnes J. G. P. Programming in Ada, 4th edn. - Wokingham: Addison-Wesley, 1994.

25. Basili V. and Green S. Software process improvement at the SEL // IEEE Software. - 1993. - 11 (4). - P. 58-124.

26. Basili V. R. and Rombach H. D. The TAME project: towards improvement-oriented software environments // IEEE Trans, on Software Engineering. - 1988. - 14 (6). - P. 758-1531.

27. Basili V. R. and Selby R. W. Comparing the effectiveness of software testing strategies // Ibid. - 1987. - SE-13 (12). - P. 1278-1374.

28. Bass В. М. and Daunteman G. Bahaviour in groups as a function of self, interaction and task orientation ///. abnorm. soc. Psychology. – 1963. – 66(4). - P. 19-47.

29. Bass L., Clements P., et al. Software Architecture in Practice. - Reading, MA: Addison-Wesley, 1998.

30. Baumer D., Gryczan G. et al. Framework development for large systems // Comm. ACM. – 1997. - 40 (10). - P. 52-61.

31. Beck K. Embracing change with extreme programming // IEEE Computer. – 1999. – 32 (10). – P. 70-78.

32. Beck K. Extreme Programming Explained. – Reading, MA: Addison-Wesley Longman, 2000.

33. Beck K. and Cunningham W. A laboratory for teaching object-oriented thinking // SIGPLAN Notices. - 1989. - 24 (10).

34. Beizer B. Software Testing Techniques, 2nd ed. - New York: Van Nostrand Rheinhold, 1990.

35. Bell T. E., Bixler D. C. et al. An extendable approach to computer aided software requirements engineering // IEEE Trans, on Software Engineering. – 1977. – SE-3 (1). – P. 49-109.

36. Bentley R., Rodden T. et al. Ethnographically-informed systems design for air traffic control. – In: Proc. CSCW'92. - Toronto, Canada, 1992.

37. Bernstein P. A. Middleware: a model for distributed system services // Comm. ACM. – 1996. – 39 (2).-P. 86-183.

38. Bersoff E. H. and Davis A. M. Impact of life cycle models on software configuration management // Ibid. - 1991. - 34 (8). - P. 104-122.

39. Binder R. V. Testing Object-Oriented Systems: Models, Patterns and Tools. - Reading, MA: Addison-Wesley Longman, 1999.

40. Bishop P., Esp D. et al. PODS - a project on diverse software // IEEE Trans, on Software Engineering. - 1986. - SE-12 (9). - P. 929-969.

41. Boehm В. СОСОМО II Model Definition Manual – Computer Science Dept., University of Southern California, 1997.

42. Boehm B. COTS integration: plug and pray? // IEEE Computer. - 1999. - 32 (1). - P. 135-173.

43. Boehm B. and Royce W. Ada COCOMO and the Ada Process Model // Proc. 5th COCOMO Users' Group Meeting. – Pittsburgh, Software Engineering Institute, 1989.

44. Boehm В., Clark B. et al. Cost models for future life cycle proctsses: COCOMO 2 // Annals of Software Engineering. - 1995. - 1. - P. 57-151.

45. Boehm B. W. Software engineering; R & D trends and defense needs. - In: Research. Directions in Software Technology (P. Wegner, ed.). - Cambridge, MA: MIT Press, 1979.

46. Boehm B. W. Software Engineering Economics. – Englewood Cliffs, NJ: Prentice-Hall, 1981. (Русский перевод: Боэм Б. У. Инженерное проектирование программного обеспечения. – М.: Радио и связь, 1985.)

47. Boehm В. W. A spiral model of software development and enhancement // IEEE Computer. – 1988. - 21 (5). - P. 61-133.

48. Boehm B. W., Gray T. E. et al. Prototyping versus specifying: A multi-project experiment // IEEE Transactions on Software Engineering. - 1984. - SE-10 (3). - P. 290-593.

49. Boehm B. W., McClean R. L. et al. Some experience with automated aids to the design of large-scale reliable software // Ibid. - 1975. - SE-1 (1). - P. 125-158.

50. Bohm C. and Jacopini G. Flow diagrams, Turing machines and languages with only two formation rules // Comm. ACM. - 1966. - 9 (5). - P. 366-437.

51. Bollinger T. and McGowan C. A critical look at software capability evaluations // IEEE Software. - 1991. - 8 (4). - P. 25-66.

52. Bolognesi T. and Brinksma E. Introduction to the ISO specification language LOTOS // Computer Networks. - 1987. - 14 (1). - P. 25-84.

53. Booch G. Software Components with Ada: Structures Tools and Subsystems. – Menlo Park, CA: Benjamin Cummings, 1987.

54. Booch G. Object-oriented Analysis and Design with Applications. - Redwood City, CA: Benjamin Cummings, 1994. (Русский перевод 2-го издания: Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд. – М.: Бином; СПб.: Невский проспект, 1999.)

55. Booch G., RumbaughJ. et al. The Unified Modeling Language User Guide. - Reading, MA: Addison-Wesley Longman, 1999. (Русский перевод: Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. – М.: ДМК, 2000.)

56. Bourne S. R. The Unix Shell // Bell Sys. Tech.J. - 1978. - 57 (6). - P. 1971-2061.

57. BrazendaleJ. and Bell R. Safety-related control and protection systems: standards update // IEEE Computingand Control EngineeringJ. - 1994. - 5 (1). - P. 6-18.

58. Brilliant S. S., Knight J. C. et al. Analysis of faults in an N-version software experiment // IEEE Trans, on Software Engineering. - 1990. - 16 (2). - P. 238-285.

59. Brinch-Hansen P. Operating System Principles. - Englewood Cliffs, NJ: Prentice-Hall, 1973.

60. Brooks F. P. The Mythical Man Month. - Reading, MA: Addison-Wesley, 1975. (Русский перевод: Брукс П. Мифические человеко-месяцы. – М.: Мир, 1976. Есть также русский перевод последнего английского издания: Брукс П. Мифический человеко-месяц или как создаются программные системы. – СПб.: Символ-Плюс, 1999.)

61. Brown A. W., Earl A. N.etal Software Engineering Environments. – London: McGraw-Hill, 1992.

62. Burns A. Scheduling hard real-time systems: a review // BCS/IEE Software Engineering J. - 1991. - 6 (3). - P. 116-244.

63. Burns A. and Wellings A. Real-time Systems and their Programming Languages. – Wokingham: Addison-Wesley, 1990.

64. Burns A. and Wellings A. Real-time Systems and Programming Languages, 2nd ed, – Harlow, UK: Addison-Wesley, 1997.

65. Button G. and Sharrock W. The production of order and the order of production // Proc. ECSCW'97. - Lancaster, UK: Kluwer, 1997.

66. BuxtonJ. Requirements for Ada Programming Support Environments: Stoneman. – Washington D.C: US Department of Defense, 1980.

67. Card S., Moran T. P. et al. The Psychology of Human-Computer Interaction, - Hillsdale, NJ: Lawrence Erlbaum Associates, 1983.

68. Carroll J. M. The Numberg Funnel: Designing Minimalist Instruction for Practical Computer Skill – Boston MA: MIT Press, 1992.

69. Checkland P. Systems Thinking, Systems Practice. - Chichester John Wiley and Sons, 1981.

70. Checkland P. and Scholes J. Soft Systems Methodology in Action. - Chichester: John Wiley and Sons, 1990.

71. Chen P. The entity relationship model - Towards a unified view of data // ACM Trans, on Database Systems. - 1976. - 1 (1) - P. 9-45.

72. Chikofsky E. J. and Cross J. H. Reverse engineering and design recovery: a taxonomy // IEEE Software. - 1990. - 7 (1). - P. 13-30.

73. Cleveland L. A program understanding support environment // IBM Sys. J. – 1989. – 28 (2). - P. 324-368.

74. Coad P. and Yourdon E. Object-oriented Analysis. - Englewood Cliffs, NJ: Prentice-Hall, 1990.

75. Cobb R. H. and Mills H. D. Engineering software under statistical quality control // IEEE Software. - 1990. - 7 (6). - P. 44-98.

76. Codd E. F. Extending the database relational model to capture more meaning // ACM Trans, on Database Systems. - 1979. - 4 (4). - P. 397-831.

77. Codenie W., De Hondt K. et al. From custom applications to domain-specific frameworks // Comm. ACM. - 1997. - 40 (10). - P. 70-77.

78. Cohen В., Harwood W. T. et al. The Specification of Complex Systems. – Wokingham: Addison-Wesley, 1986.

79. Constantine, L. L. and Yourdon, E. Structured Design. ~ Englewood Cliffs, NJ: Prentice-Hall, 1979.

80. Cooling, J. E. Software Design for Real-time Systems. – London: Chapman and Hall, 1991.

81. Coulouris G., Dollimore J. et al. Distributed Systems: Concepts and Design. – Wokingham: Addi-son-Wesley, 1994.

82. Crosby P. Quality is Free. - New York: McGraw-Hill, 1979.

83. Curtis В., HefleyW. E. etal Overview of the People Capability Maturity Model -Software Engineering Institute, 1995.

84. Curtis В., Krasner H. et al. A field study of the software design process for large systems // Comm. ACM. - 1988. - 31 (11). - P. 1268-1355.

85. Cusamano M. The software factory: a historical interpretation // IEEE Software. – 1989. – 6 (2). - P. 23-53.

86. Dasarthy B. Timing constraints for real-time systems: constructs for expressing them, methods of validating them // IEEE Trans, on Software Engineering. – 1985. – SE-11 (1). – P. 80-86.

87. Date C. J. and Darwen H. A Guide to the SQL Standard, 4th ed. – Reading, MA: Addison-Wesley, 1997.

88. Davis A. M. Software Requirements: Analysis and Specification. – Englewood Cliffs, NJ: Prentice-Hall, 1990.

89. Davis A. M. Software Requirements: Objects, Functions and States. – Englewood Cliffs, NJ: Prentice-Hall, 1993.

90. Dehbonei B. and Mejia F. Formal development of safety-critical software systems in railway signalling. In: Applications of Formal Methods (M. Hinchey and J. P. Bowen, eds). – London: Prentice-Hall, 1995. - P. 327-279.

91. DeMarco T. Structured Analysis and System Specification. – New York: Yourdon Press, 1978.

92. DeMarco T. and Lister Т.; Programmer performance and the effects of the workplace. – In: Proc. 8th Int. Core/ on Software Engineering. – London: IEEE Press, 1985.

93. DeMarco T. and Lister T. Peopkware: Productive Projects and Teams. - New York: Dorset House, 1999.

94. Diaper D. Task Analysis for Human-Computer Interaction. – Chichester: Ellis Horwood, 1989.

95. Diaz M. and Sligo J. How software process improvement helped Motorola // IEEE Software. – 1997. - 14 (5). - P. 75-157.

96. Dijkstra E. W. Goto statement considered harmful // Comm. ACM. - 1968a. - 11 (3). - P. 147-155.

97. Dijkstra E. W. Cooperating sequential processes. – In: Programming Languages (F. Genuys, ed.). - London: Academic Press, 1968b. - P. 43-155.

98. DillerA. Z: An Introduction to Formal Methods, Znded. - New York: John Wiley and Sons, 1994.

99. Dix A., FinlayJ. etal Human-Computer Interaction, 2nded. - London: Prentice-Hall, 1998.

100. Easterbrook S. Domain modelling with hierarchies of alternative viewpoints // Proc. RE'93. – San Diego, USA, 1993.

101. Easterbrook S. and Nuseibeh B. Using viewpoints for inconsistency management // BCS/IEE Software Engineering J. - 1996. - 11 (1). - P. 31-74.

102. Easterbrook S., Lutz R. et al. Experiences using lightweight formal methods for requirements modeling // IEEE Trans, on Software Engineering. – 1998. – 24 (1). – P. 4-18.

103. Eckstein R., Loy M. et aljava Swing. - Sebastopol, CA: O'Reilly and Associates Inc., 1998.

104. ECMA A Reference Model for Frameworks of Computer-Assisted Software Engineering Environments. - Tech. Rept. European Comtuter Manufacturers Association, 1991.

105. Ehrlich W., Prasanna B. et al. Determining the cost of a stop-test decision // IEEE Software. – 1993.- 9 (4). - P. 33-75.

106. El Amain K., Drouin J. et al. SPICE: The Theory and Practice of Software Process Improvement and Capability Determination. - Los Alamitos, CA: IEEE Computer Society Press, 1997.

107. Ellison R. J., Fisher D. A. et al Survivability: protecting your critical systems // IEEE Internet Computing. - 1999a. - 3 (6). - P. 55-118.

108. Ellison R. J., Linger R. C. et al Survivable network system analysis: a case study // IEEE Software. - 1999b. - 16 (4). - P. 70-77.

109. Endres A. An analysis of errors and their causes in system programs // IEEE Trans, on Software Engineering. - 1975. - SE-1 (2). - P. 140-149.

110. Estublier J. and Casallas R. The Adele Configuration Manager. – In: Configuration Management (W. Tichy, ed.). - Chichester John Wiley and Sons, 1994. - P. 99-233.

111. Fagan M. E. Design and code inspections to reduce errors in program development // IBM Systems}. - 1976. - 15 (3). - P..182-393.

112. Fagan M. E. Advances in software inspections // IEEE Trans, on Software Engineering. – 1986. – SE-12 (7). - P. 744-795.

113. Fayad M. E. and Schmidt D. C. Object-oriented application frameworks // Comm. ACM. - 1997. - 40 (10). - P. 32-70.

114. Feldman S. I. MAKE - a program for maintaining computer programs // Software-Practice and Experience. - 1979. - 9 (4). - P. 255-320.

115. Finkelstein A., Kramer J. et al. Viewpoint oriented software development. – In: Proc. 3rd Int. Workshop on Software Engineering and its Applications. – Toulouse, France, 1990.

116. Forte G. Tools fair out of the lab, onto the shelf // IEEE Software. - 1992. - 9 (3). - P. 70-79.

117. Fowler M. and Scott K. UML Distilled: Applying the Standard Object Modelling Language. - Reading, MA: Addison-Wesley, 1997.

118. Frewin G. D. and Hatton B. J. Quality management - procedures and practises // IEE/BCS Software Engineering}. - 1986. - 1 (1). - P. 29-67.

119. Fromme B. and Walker J. An open architecture for tool and process integration. – In: Proc. 6th Conf. on Software Engineering Environments. – Reading, UK: IEEE Press, 1993.

120. Fuggetta A. A classification of CASE technology // IEEE Computer. - 1993. - 26 (12). - P. 25-63.

121. Fujiwara E. and Pradhan D. K. Error-control coding in computers // IEEE Computer. – 1990. - 23 (7). - P. 63-135.

122. Furey S. and Kitchenham B. Point/Counterpoint: function points // IEEE Software. – 1997. – 14 (2). - P. 28-59.

123. Futatsugi K., Goguen J. A. et al. Principles of OBJ2. - In: 12th ACM Symp. on Principles of Programming Languages. – New Orleans, 1985.

124. Gamma E., Helm R. et al. Design Patterns: Elements of Reusable Object-Oriented Software. – Reading, MA: Addison-Wesley, 1995. (Русский перевод: Гамма Э., Хелм Р., Джонсон Р., Влассидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования.– СПб.: Питер, 2001.)

125. Сапе С. and Sarson T. Structured Systems Analysis. - Englewood Cliffs, NJ: Prentice-Hall, 1979. (Русский перевод: Гейн К., Сарсон Т. Системный структурный анализ: средства и методы. - М.: Эйтекс, 1992.)

126. Garlan D. and Shaw M. An introduction to software architecture // Advances in Software Engineering and Knowledge Engineering. – 1993. – 1. – P. 1-27.

127. Garlan D., Allen R. et al. Architectural mismatch: why reuse is so hard // IEEE Software. – 1995. - 12 (6). - P. 17-43.

128. Garlan D., Kaiser G. E. et al. Using tool abstraction to compose systems // IEEE Computer. – 1992. - 25 (6). - P. 30-38.

129. Gilb T. and Graham D. Software Inspection. – Wokingham Addison-Wesley, 1993.

130. Goldberg A. and Robson D. Smallta,lk-80. The Language and its Implementation. – Reading, MA: Addison-Wesley, 1983.

131. GollmannD. Computer Security. – Chichester: John Wiley and Sons, 1999.

132. Gomaa, H. Software Design Methods for Concurrent and Real-time Systems. – Reading, MA: Addison-Wesley, 1993.

133. Gordon V. S. and Bieman J. M. Rapid prototyping: lessons learned // IEEE Software. – 1995. - 12 (1). - P. 85-180.

134. Gotterbarn D., Miller K. et al. Software engineering code of ethics is approved // Comm. ACM. - 1999. - 42 (10). - P. 102-109.

135. Grady R. B. Practical results from measuring software quality // Ibid. - 1993. - 36 (11). - P. 62-70.

136. Grady R. B. and Van Slack. T. Key lessons in achieving widespread inspection use // IEEE Software. - 1994. - 11 (4). - P. 46-103.

137. Graham I. Object-Oriented Methods, 2nd ed. – Wokingham: Addison-Wesley, 1994.

138. Greenbaum J. and Kyng M. Design at Work: Cooperative Design of Computer Systems. – Hillsdale, NJ: Lawrence Erlbaum Associates, 1991.

139. Griss M. L. and Wosser M. Making reuse work at Hewlett-Packard // IEEE Software. – 1995. – 12 (1). - P. 105-112.

140. Grudin J. The case against user interface consistency // Comm. ACM. – 1989. – 32 (10). – P. 1164-1237.

141. Guimaraes T. Managing application program maintenance expenditures // Ibid. - 1983. – 26 (10). - P. 739-785.

142. Gunning R. Techniques of Clear Writing. – New York: McGraw-Hill, 1962.

143. Guttag J. Abstract data types and the development of data structures // Comm. ACM. – 1977. – 20 (6). - P. 396-801.

144. Guttag J. V., Horning J. J. et al. The Larch family of specification languages // IEEE Software. - 1985. - 2 (5). - P. 24-70.

145. Guttag J., Horning J. et al. Larch: Languages and Tools for Formal Specification. – Heidelberg: Springer-Verlag, 1993.

146. Haase V., Messnarz R. et al. Bootstrap: fine tuning process assessment // IEEE Software. – 1994. - 11 (4). - P. 25-60.

147. Hall A. Seven myths of formal methods // IEEE Software. - 1990. - 7 (5). - P. 11-31.

148. Hall A. Using formal methods to develop an АТС information system // Ibid. - 1996. – 13 (2). - P. 66-142.

149. Hall E. Managing Risk: Methods for Software Systems Development. – Reading, MA: Addison-Wesley Longman, 1998.

150. Hall T. and Fenton N. Implementing effective software metrics programs // IEEE Software. – 1997. - 14 (2). - P. 55-119.

151. Halstead M. H. Elements of Software Science. – Amsterdam: North-Holland, 1977.

152. Hamlet D. Are we testing for true reliability? // IEEE Software. - 1992. - 9 (4). - P. 21-58.

153. Hammer M. Reengineering work: don't automate, obliterate // Harvard Business Review. – July-August 1990. - P. 104-216.

154. Hammer M. and McLeod D. Database descriptions with SDM: a semantic database model // ACM Trans, on Database Systems. - 1981. - 6 (3). - P. 351-437.

155. Harel D. Statecharts: a visual formalism for complex systems // Sci. Comput. Programming. – 1987. - 8 (3). - P. 231-305.

156. Harel D. On visual formalisms // Comm. ACM. - 1988. - 31 (5). - P. 514-544.

157. Harker S. D. P., Easton K. D. et al. The change and evolution of requirements as a challenge to the practice of software engineering. - In: Proc. RE'93. - San Diego, USA, 1993.

158. Hayes I. (ed.). Specification Case Studies. - London: Prentice-Hall, 1987.

159. Heath C. and Luff P. Collaborative activity and technological design: task coordination in the London Underground control room. - In: Proc. ECSCW91. -Amsterdam, Kluwer^iggi.

160. Heninger K. L. Specifying software requirements for complex systems. New techniques and their applications // IEEE Trans, on Software Engineering. - 1980. - SE-6 (1). - P. 2-15.

161. Hihn J. and Habib-agahi H. Cost estimation of software intensive projects: a survey of current practices. – In: Proc. 13th Int. Conf. on Software Engineering. – Austin TX, ACM Press, 1991.

162. Hoare C. A. R. Monitors: an operating system structuring concept // Comm. ACM. – 1974. – 21 (8). - P. 666-743.

163. Hoare C. A. R. Communicating Sequential Processes. - London: Prentice-Hall, 1985.

164. Huff C. and Martin C. D. Computing consequences: a framework for teaching ethical computing // Comm. ACM. - 1995. - 38 (12). - P. 75-159.

165. Huff C. C. Elements of a realistic CASE tool adoption budget // Ibid. - 1992. - 35 (4). - P. 45-99.

166. Huff K. E. Software process modeling. - In Trends in Software: Software Process (A. Fuggetta and A. Wolf, eds). - New York: John Wiley and Sons, 1996.

167. Hughes J. A., O'Brien J. et al. Designing with ethnography: a presentation framework for design. - In: Proc. DIS'97. - Amsterdam: ACM Press, 1997.

168. Hughes J. A., Randall D. et al. Faltering from ethnography to design. - In: Proc. CSCW'92. -Toronto, Canada, 1992.

169. Hughes J., Rodden T. et al. Moving out from the control room: ethnography in system design. – In: Proc. CSCW'94. – Greensborough, North Carolina, 1994.

170. Hull R. and King R. Semantic database modeling: survey, applications and research issues // ACM Computing Surveys. - 1987. - 19 (3). - P. 201-261.

171. Humphrey W. Managingthe Software Process. - Reading, MA: Addison-Wesley, 1989.

172. Humphrey W. and Curtis B. Comment on 'A Critical Look' // IEEE Software. - 1991. - 8 (4). - P. 42-89.

173. Humphrey W. S. Characterizing the software process // Ibid. - 1988. - 5 (2). - P. 73-152.

174. Humphrey W. S. A Discipline for Software Engineering. - Reading, MA: Addison-Wesley, 1995.

175. IEC. Draft Standard IEC 6150: Functional safety of electrical/electronic/programmable electronic safety-related systems. International Electrotechnical Commission. – Geneva, 1998.

176. IEEE recommended practice for software requirements specifications. – In: Software Requirements Engineering(R. H. Thayer and M. Dorfman, eds). – Los Alamitos, CA: IEEE Computer Society Press, 1993.

177. IEEE. Software Engineering Standards Collection. - Los Alamitos CA: IEEE Press, 1994.

178. Ince D. ISO 9001 and Software Quality Assurance. - London: McGraw-Hill, 1994.

179. Ince D. C. and Hekmatpour S. Software prototyping – progress and prospects // Information andSoftware Technology. - 1987. - 29 (1). - P. 8-22.

180. ISO/IEC. Information technobgy - Guidelines for the management of IT Security. – ISO/IEC, 1998.

181. Jackson M. A. System Development. - London: Prentice-Hall, 1983.

182. Jackson M. A. Requirements and Specifications. - Wokingham: Addison-Wesley, 1995.

183. Jacky J. Specifying a safety-critical control system // IEEE Trans, on Software Engineering. - 1995. - 21 (2). - P. 99-205.

184. Jacky J. The Way of Z: Practical Programming with Formal Methods. – Cambridge: Cambridge University Press, 1997.

185. Jacky J., Unger J. et al. Experience with Z: developing a control program for a radiation therapy machine. - In: Proc. ZUM'97. - Reading: Springer, 1997.

186. Jacobson I., Christerson M. et al. Object-Oriented Software Engineering. - Wokingham: Addison-Wesley, 1993.

187. Jacobson I., Griss M. et al. Software Reuse. - Reading, MA: Addison-Wesley, 1997.

188. Jahanian F. and Mok A. K. Safety analysis of timing properties in real-time systems // IEEE Trans.on Software Engineering. - 1986. - SE-12 (9). - P. 890-1794.

189. Janis I. L. Victims of Groupthink. A Psychological Study of Foreign Policy Decisions and Fiascos. - Boston: Houghton Mifflin, 1972.

190. Jelinski Z. and Moranda P. B. Software reliability research. – In: Statistical Computer Performance Evaluation (W. Frieberger, ed.). – New York: Academic Press, 1972. – P. 465-549.

191. Johnson P. L. ISO 9000: Meeting the New International Standards. - New York: McGraw-Hill, 1993.

192. Jones C. B. Software Development - A Rigorous Approach. – London: Prentice-Hall, 1980.

193. Jones C. B. Systematic Software Development Using VDM. - London: Prentice-Hall, 1986.

194. Jorgensen P. C. and Erickson C. Object-oriented integration testing // Comm. ACM. - 1994. - 37 (9). - P. 30-38.

195. Kafura D. and Reddy G. R. The use of software complexity metrics in software maintenance // IEEE Trans, on Software Engineering. - 1987. - SE-13 (3). - P. 335-378.

196. Kemerer C. F. Reliability of function points measurement: a field experiment // Comm. ACM. - 1993. - 36 (2). - P. 85-182.

197. Kit E. Software Testing in the Real World,-Improving the Process. – Reading, MA: Addison-Wesley, 1995.

198. Kitchenham B. Measuring software development. – In: Software Reliability Handbook (P. Rook, ed.). -Amsterdam: Elsevier, 1990. - P. 303-334.

199. Kitchenham B. Software development cost models. - In: Software Reliability Handbook (P. Rook, ed.). -Amsterdam: Elsevier, 1990. - P. 487-1004.

200. Knight J. C, and Leveson N. G. An experimental evaluation of the assumption of independence in multi-version programming // IEEE Trans, on Software Engineering. - 1986. - SE-12 (1). - P. 96-205.

201. Knuth D. E. The Art of Computer Programming: Fundamental Algorithms. – Reading, MA: Addison-Wesley, 1971. (Русский перевод: Кнут Д. Искусство программирования. Т. 1. Основные алгоритмы. – М.: Изд. дом "Вильяме", 2000.)

202. Kotonya G. and Sommerville I. Viewpoints for requirements definition // BCS/IEE Software Engineering J. - 1992. - 7 (6). - P. 375-462.

203. Kotonya G. and Sommerville I. Requirements engineering with viewpoints // Ibid. – 1996. - 11 (1). - P. 5-23.

204. Kotonya G. and Sommerville I. Requirements Engineering: Processes and Techniques. – Chichester, UK: John Wiley and Sons, 1998.

205. Kramer J. and Magee J. Dynamic configuration for distributed systems // IEEE Trans, on Software Engineering. - 1985. - SE-11 (4). - P. 424-459.

206. Kuvaja P., Simila J. et al. Software Process Assessment and Improvement: The BOOTSTRAP Approach. - Oxford: Blackwell Publishers, 1994.

207. Kyng M. Designing for a dollar a day. - In: Proc. CSCW88. - Portland OR: ACM Press, 1988.

208. Lamping J., Rao R. et al. A focus + context technique based on hyperbolic geometry for visualising large hierarchies. - In: Proc. СНГ95. - ACM Press, 1995.

209. Laprie J.-C, Arlat J. et al. Architectural issues in software fault tolerance. – In: Software Fault Tolerance (ТА. R. Lyu, ed.). – Chichester: John Wiley and Sons, 1995. – P. 47-127.

210. Laudon K. Ethical concepts and information technology // Comm. ACM. – 1995. – 38 (12). – P. 33-42.

211. Leblang D. The CM challenge: configuration management that works. – In: Configuration Management (W. Tichy, ed.). – Chichester: John Wiley and Sons, 1994. – P. 1-39.

212. Leblang D. B. and Chase R. P. Parallel software confiration management in a network environment // IEEE Software. - 1987. - 4 (6). - P. 28-63.

213. Lehman M. M. and Belady L. Program Evolution: Processes of Software Change. - London: Academic Press, 1985.

214. Leveson N. G. Software safety. - In: Resilient Computing Systems (T. Anderson, ed.). - London: Collins, 1985. - P. 123-166.

215. Leveson N. G. Software safety: why, what and how // ACM Computing Surveys. - 1986. - 18 (2). - P. 125-188.

216. Leveson N. G. Safeware: System Safety and Computers. - Reading, MA: Addison-Wesley, 1995.

217. Leveson N. G. and Harvey P. R. Analysing software safety // IEEE Trans, on Software Engineering. - 1983. - SE-9 (5). - P. 569-648.

218. Lientz B. P. and Swanson E. B. Software Maintenance Management. – Reading, MA: Addison-Wesley, 1980.

219. Linger R. C. Cleanroom process model // IEEE Software. - 1994. - 11 (2). - P. 50-58.

220. Liskov B. and Guttag J. Abstraction and Specification in Program Development. – Cambridge, MA: MIT Press, 1986.

221. Littlewood B. Software reliability growth models. - In: Software Reliability Handbook (P. Rook, ed.). -Amsterdam: Elsevier, 1990. - P. 401-813.

222. Littlewood B. and Verrall J. L. A Bayesian reliability growth model for computer software // Applied Statistics. - 1973. - 22. - P. 332-378.

223. Londeix B. Cost Estimation for Software Development. -Wokingham: Addison-Wesley, 1987.

224. Luqi Computer-aided prototyping for a command and control system using CAPS // IEEE Software. - 1992. - 9 (1). - P. 56-113.

225. Lutz M. Programming Python. - Sebastopol, CA: O'Reilly and Associates, 1996.

226. Lutz R. R. Analysing software requirements errors in safety-critical embedded systems. – In: Proc. RE'93. - San Diego, CA: IEEE, 1993.

227. Lyu M. (ed.) Software Reliability Engineering. – New York: McGraw-Hill, 1996.

228. MacDonell S. G. Comparative review of functional complexity assessment methods for effort estimation // BCS/IEE Software Engineering]. - 1994. - 9 (3). - P. 107-124.

229. Marshall J. E. and Heslin R. Boys and girls together: sexual composition and the effect of density on group size and cohesiveness /// of Personality and Social Psychology. – 1975. – 35 (5). – P. 952-1013.

230. Maslow A. A. Motivation and Personality. - New York: Harper and Row, 1954.

231. Matsumoto Y. Some experience in promoting reusable software: presentation in higher abstract levels // IEEE. Trans, on Software Engineering. - 1984. - SE-10 (5). - P. 502-514.

232. McCabe T. J. A complexity measure // Ibid. -1976. - SE-2 (4). - P. 308-328.

233. McCue G. M. IBM's Santa Teresa Laboratory: architectural design for program development // IBM Systems}. - 1978. - 17 (1). - P. 4-29.

234. McGuffin R. W., Elliston A. E. et al. CADES - Software engineering in practice. - In: Proc. 4th Int. Conf. on Software Engineering. – Munich, Germany, 1979.

235. McKee J. R. Maintenance as a function of design. - In: AFIPS National Computer Conf. - Las Vegas, 1984.

236. Meyer B. On to components // IEEE Computer. - 1999. - 32 (1). - P. 139-179.

237. Miller G. A. The magical number 7 plus or minus two: some limits on our capacity for processing information // Psychological Review. - 1957. - 63. - P. 81-178.

238. Millington D. and Stapleton J. Special report: developing a RAD Standard // IEEE Software. - 1995. - 12 (5). - P. 54-60.

239. Milk H. D., Dyer M. et al. Cleanroom software engineering // Ibid.- 1987. - 4 (5). - P. 19-44.

240. Mills H. D., O'Neill D. et al. The management of software engineering // IBM Sys. J. – 1980. – 24 (2). - P. 414-493.

241. MOD. The Procurement of Safety Critical Software (Revised ed.). – UK Ministry of Defence, Procurement Executive, 1995.

242. Mullery G. CORE – a method for controlled requirements specification. – In: Proc. 4th Int. Conf. on Software Engineering. – Munich: IEEE Press, 1979.

243. Mumford E. User participation in a changing environment – why we need it. – In: Participation in Systems Development (K. Knight, ed.). – London: Kogan Page, 1989.

244. Munch B. P., Larsen J.-L. et al. Uniform versioning: the change-oriented model. – In: Proc. 4th Workshop on Software Configuration Management. – Baltimore, MD, 1993.

245. Murphy G. C., Townsend P. et al. Experiences with cluster and class testing // Comm. ACM. – 1994. - 37 (9). - P. 39-86.

246. Musa J. D. Operational profiles in software reliability engineering // IEEE Software. – 1993. – 10 (2). - P. 14-46.

247. Musa J. D. Software Reliability Engineering: More Reliable Software, Faster Development and Testing. – New York: McGraw-Hill, 1998.

248. Musa J. D., lannino A. et al. Software Reliability: Measurement, Prediction, Application. – New York: McGraw-Hill, 1987.

249. Musciano C. and Kennedy B. HTML The Definitive Guide. - Sebastopol, CA: O'Reilly and Associates Inc., 1998.

250. Myers G. J. Reliable Software through Composite Design. - New York: Petrocelli, 1975. (Русский перевод: Майерс Г. Надежность программного обеспечения. – М.: Мир, 1980.)

251. Myers W. Allow plenty of time for large-scale software // IEEE Software. - 1989. - 6 (4). - P. 92-101.

252. Nakajo T. and Kume H. A case history analysis of software error-cause relationships // IEEE Trans, т Software Engineering. - 1991. - 18 (8). - P. 830-838.

253. Neil M., Ostrolenk G. et al. Lessons from using Z to specify a software tool // IEEE Trans, on Software Engineering. - 1998. - 24 (1). - P. 15-38.

254. Neilsen J. Usability Engineering. – New York: Academic Press, 1993.

255. Nii H. P. Blackboard systems, Parts 1 and 2 // AIMagazine. - 1986. - 7 (3 and 4). - P. 38-92 and 62-71.

256. Nilsen K. Adding real-tim§ capabilities to Java // Comm. ACM. – 1998. – 41 (6). – P. 49-105.

257. Ning J. Q., Engberts A. et al. Automated support for legacy code understanding // IEEE Software. - 1994. - 37 (5). - P. 50-57.

258. Norman D. A. and Draper S. W. User-centered System Design. – Hillsdale, NJ: Lawrence Erlbaum, 1986.

259. Nosek J. T. and Palvia P. Software maintenance management: changes in the last decade // Software Maintenance: Research, and Practice. - 1990. - 2 (3). - P. 157-231.

260. Nuseibeh В., Kramer J. et al. A framework for expressing the relationships between multiple views in requirements specifications // IEEE Trans, on Software Engineering. – 1994. – 20 (10). - P. 760-833.

261. O'Connor J., Mansour C. et al. Reuse in command and control systems // Ibid. – 1994. – 11 (4). - P. 70-79.

262. Offen R. J. and Jeffrey R. Establishing software measurement programs // IEEE Software. – 1997. - 14 (2). - P. 45-99.

263. Oman P. W. and Cook C. R. The book paradigm for improved maintenance // Ibid. – 1990. - 7 (1). - P. 39-84.

264. Orfali R. and Harkey D. Client/server Programming with Java and CORBA. – New York: John Wiley and Sons, 1998.

265. Oskarsson O. and Glass R. L. An ISO 9000 Approach to Building Quality Software. - Englewood Cliffs, NJ: Prentice-Hall, 1995.

266. Ould M. Managing Software Quality and Business Risk – Chichester: John Wiley and Sons, 1999.

267. Ousterhout J. Tel and the Tk toolkit. - Reading, MA: Addison-Wesley, 1994.

268. Ousterhout J. Scripting: higher-level programming for the 21st century J/ IEEE Computer. - 1998. - 31 (3). - P. 23-53.

269. Park R. Software Size Measurement: A Framework for Counting Source Statements. – Software Engineering Institute, 1992.

270. Parnas D. L., van Schouwen J. et al. Evaluation of safety-critical software // Comm. ACM. – 1990. - 33 (6). - P. 636-687.

271. Paulk M. How ISO 9000 compares with the CMM // IEEE Software. - 1995. - 12 (1). - P. 74-158.

272. Paulk M. C. and Konrad M. An overview of ISO's SPICE Project // IEEE Computer. - 1994. - 27 (4). - P. 68-138.

273. Paulk M. C., Curtis B. et al. Capability Maturity Model, Version 1.1 // IEEE Software. - 1993. - 10 (4). - P. 18-45.

274. Peach R. W. The ISO 9000 Handbook (3rdedn). - New York: Irwin Professional Publishers, 1996.

275. Perrow C. Normal Accidents: Living with High-Risk Technology. – New York: Basic Books, 1984.

276. Perry W. Effective Methods for Software Testing. - New York: John Wiley and Sons, 1995.

277. Peterson J. L. Petri Net Theory and the Modeling of Systems. – New York: McGraw-Hill, 1981. (Русский перевод: Питерсон Д. Теория сетей Петри и моделирование систем. - М.: Мир, 1984.)

278. Pfaff G. and ten Hagen P. J. W. Seeheim Workshop on User Interface Management Systems. – Heidelberg: Springer-Verlag, 1985.

279. Pfleeger C. P. Security in Computing, 2ndedn. - Englewood Cliffs: Prentice-Hall, 1997.

280. Pope A. CORBA. - Harlow, UK: Addison-Wesley Longman, 1998.

281. Preece J., Rogers Y. et al. Human-Computer Interaction. – Wokingham: Addison-Wesley, 1994.

282. Pressman R. S. Software Engineering: A Practitioner's Approach. – New York: McGrawHill, 1997.

283. Prieto-Dfaz R. and Arango G. Domain Analysis and Software System Modeling. – Los Alamitos CA: IEEE Press, 1991.

284. Prowell S. J., Trammell C. J. et al. Cleanroom Software Engineering: Technology and Process. – Reading, MA: Addison-Wesley Longman, 1999.

285. Pulford K., Kuntzmann-Combelles A. et al. A Quantitative Approach to Software Management. – Wokingham: Addison-Wesley, 1996.

286. Putnam L. H. A general empirical solution to the macro software sizing and estimating problem // IEEE Trans, on Software Engineering. - 1978. - SE-4 (3). - P. 345-406.

287. Pycock J. and Bowers J. Getting others to get it right: an ethnography of design work in the fashion industry. - In: Proc. CSCW'96. - Boston: ACM Press, 1996.

288. Randell B. System structure for software fault tolerance // IEEE Trans, on Software Engineering. - 1975. - SE-1 (2). - P. 220-252.

289. Randell B. and Xu J. The evolution of the recovery block concept. – In: Software Fault Tolerance (M. R. Lyu, ed.). - Chichester: John Wiley and Sons, 1995. - P. 1-23.

290. Redmill F. IEC 61508: Principles and use in the management of safety // IEEE Computing and Control Engineering J. - 1998. - 9 (10). - P. 205-218.

291. Reiss S., P. Connecting tools using message passing in the field environment // IEEE Software. - 1990. - 7 (4). - P. 57-123.

292. Rettig M. Practical programmer: prototyping for tiny fingers // Comm. ACM. – 1994. – 37 (4).-P. 21-28.

293. Rickets J. A., DelMonaco J. C. et al. Data reengineering for application systems.– In: Software ReenginemngCB.. S. Arnold, ed.). - Los Alamitos CA: IEEE Press, 1993. - P. 288-381.

294. Rittel H. and Webber M. Dilemmas in a general theory of planning // Policy Sciences. – 1973. - 4. - P. 155-224.

295. Robinson P. J. Hierarchical Object-Oriented Design. - Englewood Cliffs, NJ: Prentice-Hall, 1992.

296. Rochester J. B. and Douglass D. P. Re-engineering existing systems. – In: Software Reengineering (R. S. Arnold, ed.). - Los Alamitos, CA: IEEE Press, 1993. - P. 41-92.

297. Rochkind M. J. The Source Code Control System // IEEE Trans, on Software Engineering. – 1975. - SE-1 (4). - P. 255-320.

298. Rockwell R. and Gera M. H. The Eureka Software Factory CoRe: a conceptual reference model for software factories. – In: Proc. 6th Conf. on Software Engineering Environments. – Reading, UK: IEEE Press, 1993.

299. Ross D. T. Structured analysis (SA). A language for communicating ideas // IEEE Trans, on Software Engineering. - 1977. - SE-3 (1). - P. 16-50.

300. Royce W. W. Managing the development of large software systems: concepts and techniques. – In: Proc. IEEE WESTCON. - Los Angeles, CA, 1970.

301. Rubin K. and Goldberg A. Object behaviour analysis // Comm. ACM. - 1992. - 35 (9). - P. 48-110.

302. Rumbaugh J., Blaha M. et al. Object-oriented Modeling and Design. – Englewood Cliffs, NJ: Prentice-Hall, 1991.

303. Rumbaugh J., Jacobson I. et al. The Unified Modeling Language Reference Manual – Reading, MA: Addison-Wesley, 1999.

304. Rumbaugh J., Jacobson I. et al. The Unified Software Development Process. – Reading, MA: Addison-Wesley, 1999.

305. Sackman H., Erikson W. J. et al. Exploratory experimentation studies comparing on-line and offline programming performance // Comm. ACM. – 1968. – 11 (1). – P. 3-14.

306. Schmidt D. C. Applying design patterns and frameworks to develop object-oriented communications software. – In: Handbook of Programming Languag, Vol. 1 (P. Salus, ed.). – New York: Macmillan Computer Publishing, 1997.

307. Schneidewind N. F. and Keller T. W. Applying reliability models to the space shuttle // IEEE Software. - 1992. - 9 (4). - P.28-61.

308. Schoman K. and Ross D. T. Structured analysis for requirements definition // IEEE Trans, on Software Engineering. - 1977. - SE-3 (1). - P. 6-21.

309. Selby R. Empirically analysing software reuse in a production environment. – In: Software Reuse: Emerging Technology (W. Tracz, ed.). – Los Alamitos, CA: IEEE Computer Society Press, 1988.

310. Selby R. W., Basili V. R. et al. Cleanroom software development: an empirical evaluation // IEEE Trans, on Software Engineering. - 1987. - SE-13 (9). - P. 1027-1064.

311. Sessions R. COM and DCOM: Microsoft's Vision for Distributed Objects. - New York: John Wiley and Sons, 1997.

312. Sheldon F. Т., Kavi K. M. et al. Reliability measurement: from theory to practice // IEEE Software. - 1992. - 9 (4). - P. 13-33.

313. Shlaer S. and Mellor S. Object-Oriented Systems Analysis: Modeling the World in Data. – Englewood Cliffs, NJ: Yourdon Press, 1988.

314. Shneiderman B. Software Psychology. – Cambridge, MA: Winthrop Publishers Inc., 1980.

315. Shneiderman B. Designingthe User Interface, 1st edn. – Reading, MA: Addison-Wesley, 1992.

316. Shneiderman B. Designingthe User Interface, Brdedn. – Reading, MA: Addison-Wesley, 1998.

317. Siegel J. OMG overview: CORBA and the ОМА in enterprise computing // Comm. ACM. – 1998. - 41 (10). - P. 37-80.

318. Silberschaltz A. and Galvin P. Operating System Concepts, 5th edn. – Reading, MA: Addison-Wesley, 1998.

319. Soloway E., Ehrlich K. et al What do novices know about programming? – In: Directions in Human-Computer Interaction (A. Badre and B. Shneiderman, eds). - Norwood, NJ: Ablex Publishing Co, 1982.

320. Sommerville I. and Dean G. PCL: a language for modelling evolving system architectures // BCS/1EE Software Engineering]. - 1996. - 11 (2). - P. 111-132.

321. Sommerville I. and Sawyer P. Requirements Engineering: A Good Practice Guide. – Chichester: John Wiley and Sons, 1997.

322. Sommerville I., Rodden T. et al Integrating ethnography into the requirements engineering process. - In: Proc. RE'93. - San Diego, CA: IEEE Computer Society Press, 1993.

323. Spafford E. The Internet worm: crisis and aftermath // Comm ACM. – 1989. – 32 (6). – P. 678-765.

324. Spivey J. M. Specifying a real-time kernel // IEEE Software. - 1990. - 7 (5). - P. 21-29.

325. Spivey J. M. The Z Notation: A Reference Manual, 2nd edn. – London: Prentice-Hall, 1992.

326. St Laurent S. and Cerami E. Building XML Applications. - New York: McGraw-Hill, 1999.

327. Stapleton J. DSDM Dynamic Systems Development Method. – Harlow, UK: Addison-Wesley Longman, 1997.

328. Suchman L. Office procedures as practical action // ACM Trans, on Office Information Systems. - 1983. - 1 (3). - P. 320-348.

329. Swartz A. J. Airport 95: automated baggage system? // ACM Software Engineering Notes. – 1996.- 21 (2). - P. 79-162.

330. Symons C. R. Function-point analysis: difficulties and improvements // IEEE Trans, on Software Engineering. - 1988. - 14 (1). - P. 2-13.

331. Szyperski C. Component Software: Beyond Object-oriented Programming. – Reading, MA: Addison-Wesley, 1998.

332. Tanenbaum A. S. and Woodhull A. S. Operating Systems: Design and Implementation, 2nd edn. – Englewood Cliffs, NJ: Prentice-Hall, 1997.

333. Teichrow D. and Hershey E. A. PSL/PSA: a computer aided technique for structured documentation and analysis of information processing systems // IEEE Trans, on Software Engineering. - 1977. - SE-3 (1). - P. 41-49.

334. Thayer R. H. and Dorfman M. Software Requirements Engineering, 2nd ed. – Los Alamitos, CA: IEEE Computer Society Press, 1997.

335. Tichy W. RCS – a system for version control // Software Practice and Experience. – 1985. – 15 (7). - P. 637-691.

336. Ulrich W. M. The evolutionary growth of software reengineering and the decade ahead // American Programmer. - 1990. - 3 (10). - P. 14-34.

337. Wall L., Christiansen T. et al Programming Perl - Sebastopol, CA: O'Reilly and Associates, 1996.

338. Ward P. and Mellor S. Structured Development for Real-time Systems. - Englewood Cliffs, NJ: Prentice Hall, 1985.

339. Warren I. (ed.) The Renaissance of Legacy Systems. – London: Springer, 1998.

340. WeinbergG. ThePsychologyofComputerProgramming. – New York: Van Nostrand,1971.

341. White S., Alford M. et al Systems engineering of computer-based systems // IEEE Computer. – 1993. - 26 (11). - P. 54-119.

342. Whitgift D. Software Configuration Management: Methods and Tools. - Chichester: John Wiley and Sons, 1991.

343. Wirfs-Brock R. J. and Johnson R. E. Surveying current research in object-oriented design // Comm. ACM. - 1990. - 33 (9). - P. 104-128.

344. Wirfs-Brock R., Wilkerson B. et al Designing Object-Oriented Software.- Englewood Cliffs, NJ: Prentice-Hall, 1990.

345. Wirth N. Systematic Programming: An Introduction. – Englewood Cliffs, NJ: Prentice-Hall, 1976. (Русский перевод: Вирт Н. Системное программирование: Введение. – М.: Мир, 1977.)

346. Wood J. and Silver D .Joint, Application Development (2nd ed.). - New York: John Wiley and Sons, 1995.

347. Woodcock J. C. P. and Davies J. Using Z: Specification, Proof, Refinement. – London: Prentice-Hall, 1996.

348. Wordsworth J. Software Engineering with B. – Wokingham: Addison-Wesley, 1996.

349. Wordsworth J. B. The CICS application programming interface definition. – In: Proc. Z User Workshop. - Oxford, Berlin: Springer, 1991.

350. Zave P. A compositional approach to multiparadigm programming // IEEE Software. – 1989. - 6 (5). - P. 15-42.

351. Zave P. and Schell W. Salient features of an executable specification language and its environment // IEEE Trans, on Software Engineering. - 1986. - SE-12 (2). - P. 312-337.

352. Zimmermann H. OSI Reference Model – the ISO model of architecture for open systems interconnection // IEEE Transactions on Communications. - 1980. - COM-28 (4). - P. 425-457.

 

Литература, добавленная при переводе*

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

 

1*. Андон А.И., Яшунин А.Е., Резниченко А.А. Логические модели интеллектуальных информационных систем. – К.: Наук, думка, 1999.

2*. Андон Ф.И., Лаврищева Е.М. Методы инженерии распределенных компьютерных систем. – К.: Наук, думка, 1997.

3*. Бабенко Л.П., Лаврiщева К.М. Основи программної шженерiї. Навч. Пociб. – К.: Т-во "Знания", 2001.

4*. Бен-Ари М. Языки программирования. Практический сравнительный анализ. – М.: Мир, 2000.

5*. Боггс Ч., Боггс М. UML Rational. - М.: ЛОРИ, 2000.

6*. Вендров A.M. CASE-технологии. Современные методы и средства проектирования информационных систем. – М.: Финансы и статистика, 1998.

7*. Вендров A.M. Проектирование программного обеспечения экономических информационных систем. – М.: Финансы и статистика, 2000.

8*. Гласе Г. Руководство по надежному программированию. – М.: Финансы и статистика, 1982.

9*. Калянов Г.Н. CASE-технодогии. Консалтинг при автоматизации бизнес-процессов, 2-е изд. – М.: Горячая линия – Телеком, 2000.

10*. Калянов Г.Н. Методы и средства системного структурного анализа и проектирования. – М.: НИВЦ МГУ, 1995.

11*. Кантор М. Управление программными проектами. – М.: Издат. дом "Вильямс", 2002.

12*. Коллинз Г., Блей Д. Структурные методы разработки систем: от стратегического планирования до тестирования. – М.: Финансы и статистика, 1986.

13*. Коуд П., Норт Д., Мейфидд М. Объектные модели. Стратегии, шаблоны и приложения. – М.: ЛОРИ, 1999.

14*. Кратчен Ф. Введение в Rational Unified Process, 2-е изд. – М.: Издат. дом "Вильямс", 2002.

15*. Кулаков А.Ф. Оценка качества программ ЭВМ. – К.: Технiка, 1984.

16*. Лаврищева Е.М., Грищенко В.Н. Сборочное программирование. – К.: Наук, думка, 1991.

17*. Ларман К. Применение UML и шаблонов проектирования, 2-е изд. – М.: Издат. дом "Вильямc", 2001.

18*. Лефингвел Д., Уидриг Д. Принципы работы с требованиями к программному обеспечению. Унифицированный подход. - М.: Издат. дом "Вильямc", 2002.

19*. Липаев В.В. Документирование и управление конфигурацией программных средств. Методы и с

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...