Ви переглядаєте архівну версію офіційного сайту НУЛП (2005-2020р.р.). Актуальна версія: https://lpnu.ua
Архітектура і проектування програмного забезпечення
Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.00.O.61
Кількість кредитів: 4
Кафедра: Програмне забезпечення
Лектор: к.пед.н., доцент Фоменко А.В.
Семестр: 7 семестр
Форма навчання: денна
Результати навчання:
В результаті вивчення студенти повинні:
• Знати типові архітектурні стилі та рішення для створення ПЗ, особливості їх застосування;
• Володіти методами об’єктно-орієнтованого проектування програмних систем, а також знати шаблони об’єктно-орієнтованого проектування;
• Знати загальну архітектуру корпоративних систем на базі платформ Java і .NET та вміти проектувати корпоративне ПЗ для цих платформ;
• Вміти документувати архітектуру та дизайн програмних систем з використанням стандартних засобів та нотацій.
• Знати типові архітектурні стилі та рішення для створення ПЗ, особливості їх застосування;
• Володіти методами об’єктно-орієнтованого проектування програмних систем, а також знати шаблони об’єктно-орієнтованого проектування;
• Знати загальну архітектуру корпоративних систем на базі платформ Java і .NET та вміти проектувати корпоративне ПЗ для цих платформ;
• Вміти документувати архітектуру та дизайн програмних систем з використанням стандартних засобів та нотацій.
Необхідні обов'язкові попередні та супутні навчальні дисципліни:
Назва дисципліни:
Об’єктно-орієнтоване програмування
Моделювання та аналіз ПЗ
Організація комп’ютерних мереж
Програмування Інтернет-застосувань
Бази даних
Мови програмування Java та C#
Назва розділів та тем:
Основні принципи ООП: інкапсуляція, наслідування, поліморфізм
Діаграми класів та взаємодій
Основні Інтернет технології
Проектування баз даних, мова запитів SQL
Об’єктно-орієнтоване програмування
Моделювання та аналіз ПЗ
Організація комп’ютерних мереж
Програмування Інтернет-застосувань
Бази даних
Мови програмування Java та C#
Назва розділів та тем:
Основні принципи ООП: інкапсуляція, наслідування, поліморфізм
Діаграми класів та взаємодій
Основні Інтернет технології
Проектування баз даних, мова запитів SQL
Короткий зміст навчальної програми:
Лекційні заняття направлені на вивчення наступних тем:
1. Вступ. Роль та місце проектування в процесі розробки ПЗ. Поняття архітектури ПЗ. Зміст проектування. Software Design SWEBOK
2. Архітектури програмних систем.Поняття архітектури програмної системи. Що визначає і на що впливає архітектура. Архітектурні структури і представлення. Модульні структури. Структури "компонент і з'єднувач". Структури розподілення. Відносини між структурами. Варіанти архітектур програмних систем. Архітектура, заснована на рівнях абстракцій. Архітектури, засновані на портах. Архітектури незалежних компонентів. архітектури, засновані на потоках даних.
3. CASE системи та редактори проектування, використання для створення моделей архітектури системи.
4. Проектування програмних систем. Аналіз вимог і розробка зовнішніх специфікацій. Методологія SADT. Діаграми IDEF 0.
5. Проектування програмних систем. Методологія SADT. Діаграми DFD, IDEF3.
6. Проектування програмних систем. Методологія ARIS. Діаграми eEPC, DataFloat.
7. Проектування програмних систем. Методологія BPMN 2.0. Діаграми BPMN.
8. Проектування програмних систем. Методологія UML. Діаграми прецедентів, кооперації.
9. Проектування програмних систем. Методологія UML. Діаграми послідовності, дій. Діаграми переходів станів.
10. Об’єктно-орієнтований підхід до побудови ПЗ. Основні елементи ООП. Проектування програмних систем діаграми класів, об’єктів.
11. Проектування баз даних. Діаграми IDEF 1Х.
12. Методи об’єктно-орієнтованого аналізу та проектування. Шаблони об’єктно-орієнтованого проектування. Застосування шаблонів
13. Типові архітектурні рішення. Їх реалізація.
14. Загальна архітектура корпоративного ПЗ на платформах Java та .NET
15. Документування результатів етапу проектування. Розробка попереднього зовнішнього проекту. Процес зовнішнього проектування. Проектування взаємодії з користувачем. Підготовка зовнішніх специфікацій.
На практичних заняттях студенти отримають практичні навички з проектування програмної системи методами групової роботи з наступних тем:
• Розробка проекту системи та модуля системи у різних нотаціях, а саме: SADT (IDEF0, DFD, IDEF3), ARIS, BPMN 2, UML 2.
• Побудова моделі баз даних DataFlow (ARIS), IDEF 1X (SADT).
• Створення проектної документації та захист проекту
• Розробка модулю складної системи (робота в групі) з використанням архітектурних шаблонів проектування.
• Розробка графічного інтерфейсу (групова робота) та вбудова в нього свого модулю.
• Захист свого модулю у проекті системи.
4.Результатом дисципліни є групова розробка проектної документації складної системи, індивідуальна розробка проекту модулю системи, розробка ПЗ, а саме модулю системи, адаптування модулю системи у загальному проекті.
Рекомендована література:
Навчально-методичні матеріали
Література до теоретичного курсу.
1. MaryShaw, DavidGarlan. SoftwareArchitecture: PerspectivesonanEmergingDiscipline. PrenticeHall, 1996, - 242 p.
2. Мартин Фаулер. Шаблоныкорпоративных приложений. Вильямс, 2009, - 544 с.
3. LenBass, PaulClements, RickKazman. SoftwareArchitectureinPractice (2nd Edition). Addison-Wesley Professional, 2003, - 560 p.
4. Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемыобъектно-ориентированногопроектирования. Паттерныпроектирования. Питер, 2007, - 366 с.
5. Гради Буч. Объектно-ориентированныйанализ и проектирование с примерами приложений на С++. Бином, 1998, - 560 с.
6. JamesRumbaugh, MichaelBlaha, WilliamPremerlani, FrederickEddy, WilliamLorenson. Object-OrientedModelingandDesign. Prentice-Hall, 1991, - 500 p.
7. Петер Коуд, ДэвидНорт, Марк Мейфилд. Oбъектныемодели. Стратегии, шаблоны и приложения. Лори, 1999, - 434 p.
8. RebeccaWirfs-Brock, BrianWilkerson, LaurenWiener. DesigningObject-OrientedSoftware. Prentice-Hall, 1990, - 341 p.
9. SallyShlaer, StephenMellor. Object-OrientedSystemsAnalysis: ModelingtheWorldinData. YourdonPress, 1989, - 144 p.
10. SallyShlaer, StephenMellor. ObjectLifecycles: Modelingtheworldinstates. YourdonPress, 1991, - 251 p.
11. JamesMartin, JamesOdell. PrinciplesofObject-OrientedAnalysisandDesign. Prentice-Hall, 1992, - 412 p.
Література до лабораторних занять
1. TheElementsof UML(TM) 2.0 Style. Scott W. Ambler. CambridgeUniversityPress, 2005
2. NamesofClasses, Structs, andInterfaces
http://msdn.microsoft.com/en-us/library/ms229002.aspx
3. CodeConventionsfortheJavaProgrammingLanguage.
http://www.oracle.com/technetwork/java/codeconv-138413.html
4. ObjectManagementGroup – UML
http://www.uml.org/
5. ListofUnifiedModelingLanguagetools – Wikipedia, thefreeencyclopedia
http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools
6. ArgoUML – argouml.tigris.org
http://argouml.tigris.org/
7. StarUML – TheOpenSource UML/MDA Platform
http://staruml.sourceforge.net/
8. DesignPatterns: ElementsofReusableObject-OrientedSoftware. ErichGamma, RichardHelm, RalphJohnsonandJohnVlissides. Addison-Wesley Professional, 1994.
9. Hibernate - JBossCommunity
http://www.hibernate.org/hibernate
10. Java SE Overview - at a Glance
http://www.oracle.com/technetwork/java/javase/overview/index.html
11. Eclipse - TheEclipseFoundationopensourcecommunitywebsite.
http://www.eclipse.org/
12. HibernateTools - JBossCommunity
http://www.hibernate.org/subprojects/tools.html
13. HSQLDB
http://hsqldb.org/
14. HibernateTutorial
http://www.vaannila.com/hibernate/hibernate-tutorial/hibernate-tutorial.html
15. Мартин Фаулер. Шаблоныкорпоративных приложений. Вильямс, 2009, - 544 с.
16. ASP.NET MVC: TheOfficial Microsoft ASP.NET Site
http://www.asp.net/mvc
17. InfoQ: ASP.NET MVC ExamplewithNorthwindandEntityFrameworkPublished
http://www.infoq.com/news/2008/02/mvc-framework-example
18. ADO.NET EntityFramework
http://msdn.microsoft.com/en-us/data/aa937723
19. TheOfficial Microsoft IIS Site
http://www.iis.net/
20. VisualWebDeveloper 2010 Express | Microsoft VisualStudio
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-web-developer-express
21. FreeDatabaseSoftware | DatabaseApplications | SQL Server Express
http://www.microsoft.com/sqlserver/en/us/editions/express.aspx
Література до теоретичного курсу.
1. MaryShaw, DavidGarlan. SoftwareArchitecture: PerspectivesonanEmergingDiscipline. PrenticeHall, 1996, - 242 p.
2. Мартин Фаулер. Шаблоныкорпоративных приложений. Вильямс, 2009, - 544 с.
3. LenBass, PaulClements, RickKazman. SoftwareArchitectureinPractice (2nd Edition). Addison-Wesley Professional, 2003, - 560 p.
4. Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемыобъектно-ориентированногопроектирования. Паттерныпроектирования. Питер, 2007, - 366 с.
5. Гради Буч. Объектно-ориентированныйанализ и проектирование с примерами приложений на С++. Бином, 1998, - 560 с.
6. JamesRumbaugh, MichaelBlaha, WilliamPremerlani, FrederickEddy, WilliamLorenson. Object-OrientedModelingandDesign. Prentice-Hall, 1991, - 500 p.
7. Петер Коуд, ДэвидНорт, Марк Мейфилд. Oбъектныемодели. Стратегии, шаблоны и приложения. Лори, 1999, - 434 p.
8. RebeccaWirfs-Brock, BrianWilkerson, LaurenWiener. DesigningObject-OrientedSoftware. Prentice-Hall, 1990, - 341 p.
9. SallyShlaer, StephenMellor. Object-OrientedSystemsAnalysis: ModelingtheWorldinData. YourdonPress, 1989, - 144 p.
10. SallyShlaer, StephenMellor. ObjectLifecycles: Modelingtheworldinstates. YourdonPress, 1991, - 251 p.
11. JamesMartin, JamesOdell. PrinciplesofObject-OrientedAnalysisandDesign. Prentice-Hall, 1992, - 412 p.
Література до лабораторних занять
1. TheElementsof UML(TM) 2.0 Style. Scott W. Ambler. CambridgeUniversityPress, 2005
2. NamesofClasses, Structs, andInterfaces
http://msdn.microsoft.com/en-us/library/ms229002.aspx
3. CodeConventionsfortheJavaProgrammingLanguage.
http://www.oracle.com/technetwork/java/codeconv-138413.html
4. ObjectManagementGroup – UML
http://www.uml.org/
5. ListofUnifiedModelingLanguagetools – Wikipedia, thefreeencyclopedia
http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools
6. ArgoUML – argouml.tigris.org
http://argouml.tigris.org/
7. StarUML – TheOpenSource UML/MDA Platform
http://staruml.sourceforge.net/
8. DesignPatterns: ElementsofReusableObject-OrientedSoftware. ErichGamma, RichardHelm, RalphJohnsonandJohnVlissides. Addison-Wesley Professional, 1994.
9. Hibernate - JBossCommunity
http://www.hibernate.org/hibernate
10. Java SE Overview - at a Glance
http://www.oracle.com/technetwork/java/javase/overview/index.html
11. Eclipse - TheEclipseFoundationopensourcecommunitywebsite.
http://www.eclipse.org/
12. HibernateTools - JBossCommunity
http://www.hibernate.org/subprojects/tools.html
13. HSQLDB
http://hsqldb.org/
14. HibernateTutorial
http://www.vaannila.com/hibernate/hibernate-tutorial/hibernate-tutorial.html
15. Мартин Фаулер. Шаблоныкорпоративных приложений. Вильямс, 2009, - 544 с.
16. ASP.NET MVC: TheOfficial Microsoft ASP.NET Site
http://www.asp.net/mvc
17. InfoQ: ASP.NET MVC ExamplewithNorthwindandEntityFrameworkPublished
http://www.infoq.com/news/2008/02/mvc-framework-example
18. ADO.NET EntityFramework
http://msdn.microsoft.com/en-us/data/aa937723
19. TheOfficial Microsoft IIS Site
http://www.iis.net/
20. VisualWebDeveloper 2010 Express | Microsoft VisualStudio
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-web-developer-express
21. FreeDatabaseSoftware | DatabaseApplications | SQL Server Express
http://www.microsoft.com/sqlserver/en/us/editions/express.aspx
Методи і критерії оцінювання:
Поточний контроль
Лабораторні заняття: 24 б.
Індивідуальне завдання: 16 б.
Разом балів (ПК): 40 б.
Екзамен: 60 б.
Підсумкова оцінка: 100 б.
Лабораторні заняття: 24 б.
Індивідуальне завдання: 16 б.
Разом балів (ПК): 40 б.
Екзамен: 60 б.
Підсумкова оцінка: 100 б.