Информационни системи - упражнение № 1

50
РАЗРАБОТКА НА МНОГОСЛОЙНИ ПРИЛОЖЕНИЯ Цветелин Павлов

Upload: tsvetelin-pavlov

Post on 12-Jun-2015

189 views

Category:

Education


7 download

TRANSCRIPT

Page 1: Информационни системи - упражнение № 1

РАЗРАБОТКА НА МНОГОСЛОЙНИ ПРИЛОЖЕНИЯЦветелин Павлов

Page 2: Информационни системи - упражнение № 1

План

• Обща информация, определения• Сценарий за разработка• Разработка на базата данни и обектния домейн• Разработка на функционалностите за работа със студенти

• Разработка на функционалностите за работа с оценки

Page 3: Информационни системи - упражнение № 1

ОБЩА ИНФОРМАЦИЯ

Page 4: Информационни системи - упражнение № 1

Корпоративна разработка

• Приложимост в корпоративни условия• Гъвкавост на решението• Изолиране на „движещите се части“• Управление на промените

• Множество точки на интеграция• Индустриално одобрени стандарти за комуникация

• Възможности за хоризонтална и вертикална мащабируемост

Page 5: Информационни системи - упражнение № 1

Определения

• Многопластови приложения и системи• Многослойни приложения

Page 6: Информационни системи - упражнение № 1

Многопластова архитектура

Page 7: Информационни системи - упражнение № 1

Типични роли в екипа

• Бизнес анализатор• Проектен мениджър• Проектант / архитект• Тийм лидер• Разработчик• Тестер• QA• Дизайнер, UX дизайнер

Page 8: Информационни системи - упражнение № 1

Етапи в жизнения цикъл на проект

Задание• Потребителски истории• Изисквания• Визия

Проект на функционалностите• Сценарии на употреба• Работни процеси• Скици на потребителския

интерфейс

Технологичен проект• Предметна област (домейн)• Концептуален модел• Архитектура• Технологичен стек

Разработка• Реализация• Тестване Внедряване Поддръжка

Page 9: Информационни системи - упражнение № 1

Работен поток при Scrum

Page 10: Информационни системи - упражнение № 1

СЦЕНАРИЙ ЗА РАЗРАБОТКА

Page 11: Информационни системи - упражнение № 1

Задание

• Приложение със следните функционални възможности: • Визуализация и редакция на списък със студенти• Визуализация и редакция на списък със оценките за

всеки студент

Page 12: Информационни системи - упражнение № 1

Сценарий на употреба

Page 13: Информационни системи - упражнение № 1

Скица на потребителския интерфейс

Page 14: Информационни системи - упражнение № 1

Дефиниране на предметната област

• Студенти• Факултетен номер• Собствено име• Фамилия• Снимка

• Дисциплини• Наименование

• Оценки• Студент• Дисциплина

Page 15: Информационни системи - упражнение № 1

Технологично решение

Page 16: Информационни системи - упражнение № 1

Технологичен стек

• Десктоп пласт• Windows >= XP• .NET >= 4.0• Windows Presentation Foundation• Entity Framework

• Пласт „бази данни“• Microsoft SQL Server 2008 R2

Page 17: Информационни системи - упражнение № 1

Модел на предметната област

Page 18: Информационни системи - упражнение № 1

РАЗРАБОТКА

Page 19: Информационни системи - упражнение № 1

УПРАЖНЕНИЕ № 1Създаване на база данни и модел на предметната област

Page 20: Информационни системи - упражнение № 1

Изходен код на проекта• Изтеглете: http://www.uni-ruse.bg/info-sys/lab-1.zip

• Премахнете блокировката• Десен бутон -> Properties -> Unblock

• Разархивирайте• Премахнете ограничението „само за четене“• Отворете във Visual Studio• Разкачете проекта от системата за контрол на изходния код

Page 21: Информационни системи - упражнение № 1

БАЗА ДАННИ

Page 22: Информационни системи - упражнение № 1

Физически модел

Page 23: Информационни системи - упражнение № 1

Добавяне на таблица

Page 24: Информационни системи - упражнение № 1

Добавяне на таблица

Page 25: Информационни системи - упражнение № 1

Таблица „Студенти“

CREATE TABLE [dbo].[Students]( StudentID varchar(6) not null, FirstName varchar(50) NOT NULL, FamilyName varchar(50) NOT NULL, PhotoURL varchar(255) null)

Page 26: Информационни системи - упражнение № 1

Таблица „Дисциплини“

CREATE TABLE [dbo].[Subjects]( SubjectName varchar(100) NOT NULL)

Page 27: Информационни системи - упражнение № 1

Таблица „Оценки“

CREATE TABLE [dbo].[Scores]( Value float NOT NULL, SubjectName varchar(100) NOT NULL, StudentID varchar(6) not null)

Page 28: Информационни системи - упражнение № 1

Добавяне на ключ

Page 29: Информационни системи - упражнение № 1

Първични ключове

ALTER TABLE [dbo].[Students]ADD CONSTRAINT [StudentIDPK]PRIMARY KEY (StudentID)

ALTER TABLE [dbo].[Subjects]ADD CONSTRAINT [SubjectNamePK]PRIMARY KEY (SubjectName)

Page 30: Информационни системи - упражнение № 1

Външни ключове

ALTER TABLE [dbo].[Scores]ADD CONSTRAINT [ScoreStudentFK] FOREIGN KEY (StudentID)REFERENCES Students (StudentID)

ALTER TABLE [dbo].[Scores]ADD CONSTRAINT [ScoreSubjectFK] FOREIGN KEY (SubjectName)REFERENCES Subjects (SubjectName)

Page 31: Информационни системи - упражнение № 1

РазполаганеСървър R231-2

Потребителско име info-sys

Парола @info->sys

Page 32: Информационни системи - упражнение № 1

МОДЕЛ НА ПРЕДМЕТНАТА ОБЛАСТ

Page 33: Информационни системи - упражнение № 1

Диаграма на класовете

Page 34: Информационни системи - упражнение № 1

Създаване на клас

Page 35: Информационни системи - упражнение № 1

Базов клас

Public Class DomainObject

Public Property IsNew As Boolean = True

End Class

Page 36: Информационни системи - упражнение № 1

Клас „Студент“

Public Class Student Inherits DomainObject

End Class

Page 37: Информационни системи - упражнение № 1

Клас „Студент“ – публични свойства

Private theStudentID As String Public Property StudentID As String Get Return theStudentID End Get Set(value As String) If IsNew Then theStudentID = value End If End Set End Property

Page 38: Информационни системи - упражнение № 1

Клас „Студент“ – публични свойства

Public Property FirstName As String Public Property LastName As String Public Property PhotoURL As String

Page 39: Информационни системи - упражнение № 1

Клас „Студент“ – публични свойства

Private ReadOnly theScores As IList(Of Score) Public ReadOnly Property Scores As IList(Of Score) Get Return theScores End Get End Property

Page 40: Информационни системи - упражнение № 1

Клас „Студент“ – конструктори Public Sub New(aStudentID As String) theStudentID = aStudentID theScores = New List(Of Score)

IsNew = False End Sub

Public Sub New() theScores = New List(Of Score)()

IsNew = True End Sub

Page 41: Информационни системи - упражнение № 1

Клас „Студент“ – други

Public Overrides Function ToString() As String Return FirstName & " " & LastName End Function

Page 42: Информационни системи - упражнение № 1

Клас „Дисциплина“

Public Class Subject Inherits DomainObject

End Class

Page 43: Информационни системи - упражнение № 1

Клас „Дисциплина“ - свойства

Private ReadOnly theName As String Public ReadOnly Property Name As String Get Return theName End Get End Property

Page 44: Информационни системи - упражнение № 1

Клас „Дисциплина“ - други

Public Overrides Function ToString() As String Return Name End Function

Page 45: Информационни системи - упражнение № 1

Клас „Оценка“

Public Class Score Inherits DomainObject

End Class

Page 46: Информационни системи - упражнение № 1

Клас „Оценка“ – публични свойства

Private ReadOnly theStudent As Student = Nothing Public ReadOnly Property Student As Student Get Return theStudent End Get End Property

Public Property Value As Double

Page 47: Информационни системи - упражнение № 1

Клас „Оценка“ – публични свойства

Private theSubject As Subject Public Property Subject As Subject Get Return theSubject End Get Set(value As Subject) If IsNew Then theSubject = value End If End Set End Property

Page 48: Информационни системи - упражнение № 1

Клас „Оценка“ – конструктори Public Sub New(aStudent As Student, aSubject As Subject, aValue As Double) theStudent = aStudent theSubject = aSubject Value = aValue

IsNew = False End Sub

Public Sub New(aStudent As Student) theStudent = aStudent

IsNew = True End Sub

Page 49: Информационни системи - упражнение № 1

Клас „Оценка“ – други

Public Overrides Function ToString() As String If theSubject IsNot Nothing Then Return theSubject.Name & "(" & Value.ToString() & ")" Else Throw New Exception("Оценка без дисциплина") End If End Function

Page 50: Информационни системи - упражнение № 1

КРАЙ НА УПРАЖНЕНИЕ № 1Създаване на база данни и обектен домейн