ЗАСТОСУВАННЯ CASE-СИСТЕМ ДЛЯ ПРОЕКТУВАННЯ ПРОГРАМНИХ ПРОДУКТІВ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Технології комп ютерного проектування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки, Національний університет «Львівська Політехніка» Кафедра ІСМ / Лабораторна робота №1 з дисципліни «Технології комп’ютерного проектування» на тему: «ЗАСТОСУВАННЯ CASE-СИСТЕМ ДЛЯ ПРОЕКТУВАННЯ ПРОГРАМНИХ ПРОДУКТІВ» Мета роботи: Ознайомитися із CASE-системою BPWin, яка дозволяє проектувати і реалізувати процеси програмного продукта. Ознайомитися із CASE-системою ERWin, яка дозволяє проектувати і реалізувати структуру даних для будь-якого програмного продукта. Порядок виконання роботи 1. Ознайомитися із теоретичними відомостями. 2. Ознайомитися із середовищем ERWin та BPWin. 3. Використовуючи CASE-систему ERWin, розробити IDEF1X діаграму (діаграму структури даних) для даної предметної області (згідно індивідуальнорго завдання), згенерувати схему БД. 4. Згенерацувати SQL-скрипт для бази даних формату MS SQL Server. 5. Ознайомитися із технологією структурного аналізу і проектування SADT, на прикладі CASE-системи BPWin. 6. Розробити IDEF0 и DFD діаграми згідно індивідуального завдання. 7. Для IDEF0 и DFD діаграм, розроблених в перередніх пунктах, створити структуру реляційної бази даних, відповідну вказаним сховищам даних, використовуючи для цього ERWin. 8. Навчитися синхронізувати зміни в IDEF0 і DFD діаграмах із змінами в структурі реляційних даних. Теоретичні відомості BPwin є могутнім інструментом для створення моделей, що дозволяють аналізувати, документувати і планувати зміни складних бізнесів-процесів. BPwin пропонує засіб для збору всієї необхідної інформації про роботу підприємства і графічного зображення цієї інформації у вигляді цілісної і несуперечливої моделі. BPwin підтримує три методології: IDEF0, DFD і IDEF3, що дозволяють аналізувати бізнес із трьох ключових точок зору: 1. З погляду функціональності системи. У рамках методології IDEF0 (Integration Definition for Function Modeling) бізнес-процес представляється у виді набору елементів-робіт, що взаємодіють між собою, а також показуються інформаційні, людські і виробничі ресурси, які споживаються кожною роботою. 2. З погляду потоків інформації (документообігу) у системі. Діаграми DFD (Data Flow Diagramming) можуть доповнити те, що уже відбито в моделі IDEF3, оскільки вони описують потоки даних, дозволяючи простежити, яким чином відбувається обмін інформацією між бізнес-функціями усередині системи. У теж час діаграми DFD залишають без уваги взаємодію між бізнес-функціями. 3. З погляду послідовності виконуваних робіт. І ще більш точну картину можна одержати, доповнивши модель діаграмами IDEF3. Цей метод привертає увагу до черговості виконання подій. У IDEF3 включені елементи логіки, що дозволяє моделювати й аналізувати альтернативні сценарії розвитку бізнес-процесу. BPwin уміє перевіряти створювані моделі з погляду синтаксису обраної методології, перевіряє посилальну цілісність між діаграмами, а також виконує ряд інших перевірок. При цьому зберігаються головні переваги малюнка – простота створення і наочність. IDEF0. Основною із трьох методологій, які підтримує BPwin, є IDEF0. IDEF0, відноситься до сімейства IDEF, що з'явилося наприкінці шістдесятих років за назвою SADT (Structured Analysis and Design Technique). IDEF0 може бути використана для моделювання широкого класу систем. Для нових систем застосування IDEF0 має своєю метою визначення вимог і вказівка функцій для наступної розробки системи, що відповідає поставленим вимогам і реалізує виділеним функціям. Стосовно до вже існуючих систем IDEF0 може бути використана для аналізу функцій, виконуваних системою і відображення механізмів, за допомогою яких ці функції виконуються. Результатом застосування IDEF0 до деякої системи є модель цієї системи, що складає з ієрархічно упорядкованого набору діаграм, тексту документації і словників, зв'язаних один з одним за допомогою перехресних посилань. Двома найбільш важливими компонентами, з яких будуються діаграми IDEF0, є функції чи роботи (представлені на діаграмах у виді прямокутників) і дані й об'єкти (зображувані у виді стрілок), що зв'язують між собою роботи. При цьому стрілки, у залежності від того в яку грань прямокутника роботи вони входять чи з якої грані виходять, поділяються на п'ять видів: 1. Стрілки входу (входять у ліву грань роботи) – зображують дані чи об'єкти, змінювані в ході виконання роботи. 2. Стрілки керування (входять у верхню грань роботи) – зображують правила й обмеження, згідно яким виконується робота. 3. Стрілки виходу (виходять із правої грані роботи) – зображують дані чи об'єкти, що з'являються в результаті виконання роботи. 4. Стрілки механізму (входять у нижню грань роботи) – зображують ресурси, які необхідні для виконання роботи, але не змінюються в процесі роботи (наприклад, устаткування, людські ресурси...). 5. Стрілки виклику (виходять з нижньої грані роботи) – зображують зв'язку між різними діаграмами чи моделями, указуючи на деяку діаграму, де дана робота розглянута більш докладно. Хід роботи 1. Почнемо створення діаграм. Перша діаграма в ієрархії діаграм IDEF0 завжди зображує функціонування системи в цілому. Такі діаграми називаються контекстними. Стрілками зліва зображуються дані, які входять в нашу систему – це дії користувача, налаштування та дані з пристрою. Стрілками зверху вказується обмеження, тобто, закони та документації, в даному випадку – це авторське право та робота з протоколами. Знизу зображено вплив та ресурси, які використовує система – це мови програмування та дії користувача. З правого боку ми отримуємо вихідну інформацію, тобто, результат роботи програми – це підібрана для користувача інформація, яка відсортована та подана у зручному вигляді.  Рис. 1. IDEF0 Діаграма.  Рис. 2. Діаграма декомпозиції. 2. DFD. Для того щоб документувати механізми передачі й обробки інформації в модельовній системі, використовуються діаграми потоків даних (Data Flow Diagrams). Діаграми DFD звичайно будуються для наочного зображення поточної роботи системи документообігу організації. Найчастіше діаграми DFD використовують як доповнення моделі бізнес-процесів, виконаної в IDEF0. Прямокутниками з округленими кутами позначено роботи, тобто, процеси, що обробляють та змінюють інформацію. Стрілки позначають інформаційні потоки документообігу,тобто, запити. Зовнішні посилання – це організація, чи людина, яка бере участь у процесі обміну інформацією, у даному випадку – це «користувач». Прямокутники – це сховища даних, до яких здійснюється доступ.  Рис. 3. DFD Діаграма. 3. Методологія моделювання IDEF3 дозволяє графічно описати і задокументувати процеси, фокусуючи увагу на послідовності цих процесів і на зв’язках між процесами і важливими об'єктами, що є частинами цих процесів. IDEF3 припускає побудову двох типів моделей: модель може відбивати деякі процеси в їхній логічній послідовності, дозволяючи побачити, як функціонує організація, чи модель може показувати “мережу перехідних станів об'єкта”, пропонуючи увазі аналітика послідовність станів, у яких може виявитися об'єкт при проходженні через визначений процес. Програма отримує налаштування та дані, опрацьовує їх, якщо не виявилося налаштувань, то вона встановлює стандартні, а в іншому випадку застосовує вхідні дані, потім одразу збирає інформацію про дії користувача переходить далі і формує всю вхідну інформацію та представляє її користувачу.  Рис. 4. IDEF3 Діаграма.  Рис. 5. Дерево рішень. 4. Створюю базу даних для своєї системи. 4.1. Пишу SQL – скрипт. CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ; USE `mydb` ; -- ----------------------------------------------------- -- Table `mydb`.`User` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`User` ( `idUser` INT NOT NULL AUTO_INCREMENT, `MusTaste` VARCHAR(20) NOT NULL, `FilmTaste` VARCHAR(15) NOT NULL, `Mood` VARCHAR(20) NOT NULL, `Like` VARCHAR(15) NOT NULL, `Actions` VARCHAR(20) NOT NULL, `Shedule` VARCHAR(20) NOT NULL, `NewsPick` VARCHAR(20) NOT NULL, PRIMARY KEY (`idUser`)) -- ----------------------------------------------------- -- Table `mydb`.`Settings` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Settings` ( `idSettings` INT NOT NULL AUTO_INCREMENT, `idUser` INT NOT NULL, `ButtonStyle` VARCHAR(10) NOT NULL, `ColorStyle` VARCHAR(10) NOT NULL, `FontStyle` VARCHAR(10) NOT NULL, `Windows` VARCHAR(10) NOT NULL, `Panels` VARCHAR(10) NOT NULL, `Pictures` VARCHAR(10) NOT NULL, `Limits` VARCHAR(15) NOT NULL, `Filters` VARCHAR(15) NOT NULL, `Sizes` VARCHAR(15) NOT NULL, PRIMARY KEY (`idSettings`), INDEX `fk_Settings_User1_idx` (`idUser` ASC), CONSTRAINT `fk_Settings_User1` FOREIGN KEY (`idUser`) REFERENCES `mydb`.`User` (`idUser`) ON DELETE NO ACTION ON UPDATE NO ACTION) -- ----------------------------------------------------- -- Table `mydb`.`WindowOutput` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`WindowOutput` ( `idWindowOutput` INT NOT NULL AUTO_INCREMENT, `idSettings` INT NOT NULL, `WCount` SMALLINT(6) NOT NULL, `Location` VARCHAR(10) NOT NULL, PRIMARY KEY (`idWindowOutput`), INDEX `fk_WindowOutput_Settings1_idx` (`idSettings` ASC), CONSTRAINT `fk_WindowOutput_Settings1` FOREIGN KEY (`idSettings`) REFERENCES `mydb`.`Settings` (`idSettings`) ON DELETE NO ACTION ON UPDATE NO ACTION) -- ----------------------------------------------------- -- Table `mydb`.`Creating` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Creating` ( `idCreating` INT NOT NULL AUTO_INCREMENT, `idWindow` INT NOT NULL, `idUser` INT NOT NULL, PRIMARY KEY (`idCreating`), INDEX `fk_Creating_WindowOutput1_idx` (`idWindow` ASC), INDEX `fk_Creating_User1_idx` (`idUser` ASC), CONSTRAINT `fk_Creating_WindowOutput1` FOREIGN KEY (`idWindow`) REFERENCES `mydb`.`WindowOutput` (`idWindowOutput`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Creating_User1` FOREIGN KEY (`idUser`) REFERENCES `mydb`.`User` (`idUser`) ON DELETE NO ACTION ON UPDATE NO ACTION) -- ----------------------------------------------------- -- Table `mydb`.`Ethernet` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Ethernet` ( `idEthernet` INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (`idEthernet`)) -- ----------------------------------------------------- -- Table `mydb`.`Data` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Data` ( `idData` INT NOT NULL AUTO_INCREMENT, `idCreating` INT NULL, `idEthernet` INT NOT NULL, `idDevice` INT NOT NULL, `MusStyle` VARCHAR(20) NOT NULL, `FilmGanre` VARCHAR(20) NOT NULL, `News` VARCHAR(20) NOT NULL, `Pictures` VARCHAR(20) NOT NULL, `Shedule` VARCHAR(20) NOT NULL, PRIMARY KEY (`idData`), INDEX `fk_Data_Creating1_idx` (`idCreating` ASC), INDEX `fk_Data_Ethernet1_idx` (`idEthernet` ASC), CONSTRAINT `fk_Data_Creating1` FOREIGN KEY (`idCreating`) REFERENCES `mydb`.`Creating` (`idCreating`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Data_Ethernet1` FOREIGN KEY (`idEthernet`) REFERENCES `mydb`.`Ethernet` (`idEthernet`) ON DELETE NO ACTION ON UPDATE NO ACTION) -- ----------------------------------------------------- -- Table `mydb`.`News` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`News` ( `idNews` INT NOT NULL AUTO_INCREMENT, `idEthernet` INT NOT NULL, `Actuality` VARCHAR(10) NOT NULL, `Time` DATETIME NOT NULL, `Type` VARCHAR(15) NOT NULL, `Interest` VARCHAR(15) NOT NULL, PRIMARY KEY (`idNews`), INDEX `fk_News_Ethernet1_idx` (`idEthernet` ASC), CONSTRAINT `fk_News_Ethernet1` FOREIGN KEY (`idEthernet`) REFERENCES `mydb`.`Ethernet` (`idEthernet`) ON DELETE NO ACTION ON UPDATE NO ACTION) -- ----------------------------------------------------- -- Table `mydb`.`Device` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Device` ( `idDevice` INT NOT NULL AUTO_INCREMENT, `Type` VARCHAR(15) NOT NULL, PRIMARY KEY (`idDevice`)) -- ----------------------------------------------------- -- Table `mydb`.`Shedule` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Shedule` ( `idShedule` INT NOT NULL AUTO_INCREMENT, `idEthernet` INT NOT NULL, `idDevice` INT NOT NULL, `Type` VARCHAR(15) NOT NULL, `Actuality` VARCHAR(15) NOT NULL, `Time` TIME NOT NULL, `Date` DATE NOT NULL, `DealToDo` VARCHAR(15) NOT NULL, PRIMARY KEY (`idShedule`), INDEX `fk_Shedule_Ethernet1_idx` (`idEthernet` ASC), INDEX `fk_Shedule_Device1_idx` (`idDevice` ASC), CONSTRAINT `fk_Shedule_Ethernet1` FOREIGN KEY (`idEthernet`) REFERENCES `mydb`.`Ethernet` (`idEthernet`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Shedule_Device1` FOREIGN KEY (`idDevice`) REFERENCES `mydb`.`Device` (`idDevice`) ON DELETE NO ACTION ON UPDATE NO ACTION) -- ----------------------------------------------------- -- Table `mydb`.`FilmVideo` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`FilmVideo` ( `idFilmVideo` INT NOT NULL AUTO_INCREMENT, `idEthernet` INT NOT NULL, `idDevice` INT NOT NULL, `Actuality` VARCHAR(15) NOT NULL, `Ganre` VARCHAR(15) NOT NULL, `Time` TIME NOT NULL, `Interest` VARCHAR(15) NOT NULL, PRIMARY KEY (`idFilmVideo`), INDEX `fk_FilmVideo_Ethernet1_idx` (`idEthernet` ASC), INDEX `fk_FilmVideo_Device1_idx` (`idDevice` ASC), CONSTRAINT `fk_FilmVideo_Ethernet1` FOREIGN KEY (`idEthernet`) REFERENCES `mydb`.`Ethernet` (`idEthernet`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_FilmVideo_Device1` FOREIGN KEY (`idDevice`) REFERENCES `mydb`.`Device` (`idDevice`) ON DELETE NO ACTION ON UPDATE NO ACTION) -- ----------------------------------------------------- -- Table `mydb`.`Pictures` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Pictures` ( `idPictures` INT NOT NULL AUTO_INCREMENT, `idDevice` INT NOT NULL, `idEthernet` INT NOT NULL, `Type` VARCHAR(15) NOT NULL, `Actuality` VARCHAR(15) NOT NULL, `Interest` VARCHAR(15) NOT NULL, PRIMARY KEY (`idPictures`), INDEX `fk_Pictures_Device1_idx` (`idDevice` ASC), INDEX `fk_Pictures_Ethernet1_idx` (`idEthernet` ASC), CONSTRAINT `fk_Pictures_Device1` FOREIGN KEY (`idDevice`) REFERENCES `mydb`.`Device` (`idDevice`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Pictures_Ethernet1` FOREIGN KEY (`idEthernet`) REFERENCES `mydb`.`Ethernet` (`idEthernet`) ON DELETE NO ACTION ON UPDATE NO ACTION) -- ----------------------------------------------------- -- Table `mydb`.`Music` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Music` ( `idMusic` INT NOT NULL AUTO_INCREMENT, `idDevice` INT NOT NULL, `idEthernet` INT NOT NULL, `Ganre` VARCHAR(15) NOT NULL, `Time` VARCHAR(15) NOT NULL, `Actuality` VARCHAR(15) NOT NULL, `Interest` VARCHAR(15) NOT NULL, PRIMARY KEY (`idMusic`), INDEX `fk_Music_Ethernet1_idx` (`idEthernet` ASC), INDEX `fk_Music_Device1_idx` (`idDevice` ASC), CONSTRAINT `fk_Music_Ethernet1` FOREIGN KEY (`idEthernet`) REFERENCES `mydb`.`Ethernet` (`idEthernet`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Music_Device1` FOREIGN KEY (`idDevice`) REFERENCES `mydb`.`Device` (`idDevice`) ON DELETE NO ACTION ON UPDATE NO ACTION) 4.2. Створюю модель бази даних. Система працює наступним чином: Користувач вносить налаштування, вносить дані. Налаштування застосовуються. Система зчитує дані про користувача, та шукає схожі на пристрої та у мережі, тобто, підбирає дані. Дані формуються та підготовлюються. Програма представляє дані користувачу у вигляді головного вікна, від якого походять інші, викликані користувачем за бажанням, якщо йому потрібно більше інформації. Вікна налаштовані користувачем. Перед використанням програми. / Рис. 6. Діаграма бази даних. Висновок: виконуючи дану лабораторну роботу, я ознайомився із CASE-системою ERWin, яка дозволяє проектувати і реалізувати структуру даних для будь-якого програмного продукта.
Антиботан аватар за замовчуванням

14.04.2015 19:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!