Agent based constraint checking

Download Report

Transcript Agent based constraint checking

Software Design/Database Design
Dr. Praveen Madiraju
Department of Mathematics, Statistics, and Computer
Science
Marquette University
http://www.mscs.mu.edu/~praveen/
What is Design?
What is Design? (cont’d)
What is involved in Design Process?
Goals, Ideas
Knowledge, Representations
Languages, Tools
Activities
Software is somewhat unique
disparate projects
changing tools
many advances are in programming languages
eCase Review Management System
Insurance
Companies
Incoming
Case
Billing
Case
Review
Case
Transcription
eCase Management System
Software Development Process
Software Development Process (cont’d)
SCRUM : Agile Software Development
SCRUM is an agile, lightweight process for managing and controlling
software and product development in rapidly changing environments.





Iterative, incremental process
Team-based approach
developing systems/ products with rapidly changing requirements
Improve communication and maximize cooperation
A way to maximize productivity
SCRUM (cont’d)
Components of Scrum
Roles : Scrum Master, Team, Product Owner
 Process : Sprint Planning, Sprint, Daily Scrum, Sprint Review
Meeting

Requirements Discovery Process
Interviews with clients
Gather functional and non-functional requirements
Sometimes a quick prototype helps
Requirements Discovery Process (cont’d)
Enter Patient
Details
*
*
*
*
Case Receptionist
*
*
Enter Employer
Details
Enter Provider
Details
Case Reviewer
Case Transcriptionist
Capturing Requirements using Use-Case Modeling
Requirements Analysis
Software Design
System design

describes what the software system should do
• focuses more on desirability
typically captures the overall, essential framing of the solution
 Includes database design as well
 specific technology and database independent

Implementation design

describes what the implementer should do
• focuses more on feasibility
typically represents a final “completed design”
 typically captures a fully detailed roadmap

Database Design
Basic Concepts of Database
Table : Row, Column, Primary Key, Foreign Key, Index
Primary Key
Table Name
Foreign Key
EMPLOYEE
DEPARTMENT
SSN
FName
DNO
DNO
DName
123
John
1
1
Accounting
2
Administration
234
Leela
2
Row
Column
Database Design (cont’d)
Main Phases of Database Design
ER (Entity Relationship) Modeling
Conceptual design phase; result is a conceptual schema
ER consists of : entities, attributes, and relationships
Higher Level
Requirements
Example: Company Database System.
“We store each EMPLOYEE’s social security number, address,
salary, sex, and birthdate. Each employee works for one
department but may work on several projects…”
Entity : EMPLOYEE, DEPARTMENT, …
Attributes : SSN, Address, Sex, Birthdate
Relationship: WORKS_FOR, …
ER Modeling (cont'd)
LName
FName
MI
SSN
DNO
Name
N
EMPLOYEE
DOB
Sex
Age
Phone
DName
1
WORKS_FOR
DEPARTMENT
ER Modeling (cont'd)
Strong Participation
Types of Relationships:
1:1; 1:N (previous slide)
1
EMPLOYEE
1
MANAGES
DEPARTMENT
M:N
M
EMPLOYEE
N
WORKS_ON
Hours
PROJECT
PNO
PName
ER to Relational Schema
Entities  Tables
Attributes  Columns
EMPLOYEE_PHONE
EMPLOYEE
SSN
FName
123
John
234
Leela
LName
Smith
M DOB
I
Age
Sex
A
…
…
M
B
…
…
F
SSN
Phone
123
414-111-…
123
262-000
Database Tools
ER Modeling Tools/Technologies
Microsoft Visio
Oracle Designer
Rational Rose
ERWin, …
Database Vendors
Commercial : Oracle, IBM DB2, Microsoft SQL Server, …
Free Ware : MySQL, SQLLite, PostgresSQL, …
Database Languages
Structured Query Language (SQL), PL/SQL
Application Design Models
Data Flow Diagrams
Pseudo code
Algorithms
Object-Oriented Analysis and Modeling using UML (Unified
Modeling Language)
UML
Use Case Diagrams
Activity Diagrams
Sequence Diagrams
Class Diagrams
Component Reuse
If a component already exists, why re invent the wheel?
There exists components for almost anything these days
Risks associated with free or third party components
User Interface Diagrams
Mock-ups, Sketches, User interaction Diagrams, Prototype Demos,
Browser
User Interface Diagrams (cont’d)
Wireframe
Application Design Tools
UML Tools
Rational Software Modeler, Microsoft Visio, Eclipse-Omondo,
Dia (free ware), …
User Interface Tools
Your favorite browser, Microsoft .NET framework, Java
Swing, Visio, WireframeSketcher, …
Implementation
Small stand alone applications

Java, Microsoft .NET, …
Web based applications

Java Servlets, Microsoft .NET, PHP-MySQL,
Enterprise Resource Planning Applications

SAP, Oracle Apps, …
Multi-tier Application Architecture
Data Resources
Server
(Business Logic)
(Data Access Logic)
Web Server
(Business Logic)
(Data Access Logic)
Client
(Presentation Logic)
(Business Logic)
(Data Access Logic)
Two-tier Architecture
Three-tier Architecture
Multi-tier Application Architecture (cont’d)
Construction and Testing
Unit testing
System testing
Installation and Delivery
Training Manual
System Operation and Maintenance
Program Back up, Recovery and Maintenance
Technical Support
Further System Enhancements
Hopefully no bugs
Thank you
Questions?
ER to Relational Schema (cont’d)
Dealing with Relationships – 1:1
SSN
FName
1
EMPLOYEE
DNO
StartDate
DName
1
MANAGES
DEPARTMENT
TRANSLATES TO
EMPLOYEE
DEPARTMENT
SSN
FName
123
John
234
Leela
DNO
DName
MgrSSN MgrStart
Date
1
Account. 234
.
…
ER to Relational Schema (cont’d)
Dealing with Relationships – 1:N
SSN
DNO
FName
N
EMPLOYEE
DName
1
WORKS_FOR
DEPARTMENT
TRANSLATES TO
EMPLOYEE
DEPARTMENT
SSN
FName
DNO
123
John
1
234
Leela
1
DNO
DName
1
Account.
.
2
Admin…
ER to Relational Schema (cont’d)
Dealing with Relationships – M:N
SSN
FName
M
EMPLOYEE
N
WORKS_ON
PROJECT
Hours
PNO
PName
EMPLOYEE
SSN
FName
123
John
234
Leela
WORKS_ON
SSN
PNO
Hours
123
1001
20
123
1002
20
PNO
PROJECT
PName
1001
OceanBlue
1002
EverGreen