Upload
shonda-riley
View
213
Download
0
Embed Size (px)
Citation preview
Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Software Design/Database DesignSoftware Design/Database Design
Dr. Praveen Madiraju
Department of Mathematics, Statistics, and Computer Science
Marquette University
[email protected]://www.mscs.mu.edu/~praveen/
February 16, 2009
2Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Presentation OutlinePresentation Outline
What is Design?Software Development ProcessRequirements Discovery ProcessSoftware DesignDatabase DesignApplication DesignImplementation
3Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
What is Design?What is Design?
To conceive and plan out in the mind (merriam-webster)The realization of a imagined stateThe specification that guides production…. And other definitions
4Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
What is Design? (cont’d)What is Design? (cont’d)
“Design” may refer to an activity Example : Design on a
Whiteboard“Design” may refer to a product “My design is super cool, I
know it will work”“Design” may refer to a field “Software design” is a field Product design, Chip design,
Graphic Design, …
5Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
What is Design? (cont’d)What is Design? (cont’d)
6Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
What is Design? (cont’d)What is Design? (cont’d)
What is involved in Design Process?What is involved in Design Process?
Goals, IdeasKnowledge, RepresentationsLanguages, ToolsActivities
Software is somewhat uniqueSoftware is somewhat unique
disparate projectschanging toolshidden design decisionssecrecy among developersmany advances are in programming languages
7Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Software Development ProcessSoftware Development Process
8Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Software Development Process (cont’d)Software Development Process (cont’d)
9Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Requirements Discovery ProcessRequirements Discovery Process
Interviews with clientsGather functional and non-functional requirementsSometimes a quick prototype helps
10Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Requirements Discovery Process (cont’d)Requirements Discovery Process (cont’d)
Capturing Requirements using Use-Case Modeling
11Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Software DesignSoftware 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
12Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Database DesignDatabase Design
SSN FName DNO
123 John 1
234 Leela 2
DNO DName
1 Accounting
2 Administration
EMPLOYEE DEPARTMENT
Row Column
Primary Key Table NameForeign Key
Basic Concepts of DatabaseBasic Concepts of Database
Table : Row, Column, Primary Key, Foreign Key, Index
13Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Database Design (cont’d)Database Design (cont’d)
Main Phases of Database Design
14Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
ER (Entity Relationship) ModelingER (Entity Relationship) Modeling
Conceptual design phase; result is a conceptual schemaER consists of : entities, attributes, and relationships
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, BirthdateRelationship: WORKS_FOR, …
Higher Level Requirements
15Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
ER Modeling (cont'd)ER Modeling (cont'd)
EMPLOYEE WORKS_FOR DEPARTMENT
SSN Name
FName LName
MIDNO DName
N 1
DOB
AgePhone
Sex
16Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
ER Modeling (cont'd)ER Modeling (cont'd)
Types of Relationships:1:1; 1:N (previous slide)
EMPLOYEE MANAGES DEPARTMENT1 1
M:N
EMPLOYEE WORKS_ON PROJECTM N
Hours PNO PName
Strong Participation
17Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
ER to Relational SchemaER to Relational Schema
Entities Tables Attributes Columns
SSN FName LName MI
DOB Age Sex
123 John Smith A … … M
234 Leela B … … F
EMPLOYEE
SSN Phone
123 414-111-…
123 262-000
EMPLOYEE_PHONE
18Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Database ToolsDatabase Tools
ER Modeling Tools/TechnologiesER Modeling Tools/Technologies
Microsoft VisioOracle DesignerRational RoseERWin, …
Database VendorsDatabase Vendors
Commercial : Oracle, IBM DB2, Microsoft SQL Server, …Free Ware : MySQL, SQLLite, PostgresSQL, …
Database LanguagesDatabase Languages
Structured Query Language (SQL), PL/SQL
19Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Application Design ModelsApplication Design Models
Data Flow Diagrams
20Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Application Design Models (cont’d)Application Design Models (cont’d)
Pseudo codeAlgorithmsObject-Oriented Analysis and Modeling using UML (Unified Modeling Language)
21Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
UMLUML
Use Case DiagramsActivity DiagramsSequence DiagramsClass Diagrams
22Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Activity DiagramActivity Diagram
23Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Class DiagramClass Diagram
24Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Component ReuseComponent Reuse
If a component already exists, why re invent the wheel?There exists components for almost anything these daysRisks associated with free or third party components
25Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
User Interface DiagramsUser Interface Diagrams
Mock-ups, Sketches, User interaction Diagrams, Prototype Demos, Browser
26Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
User Interface Diagrams (cont’d)User Interface Diagrams (cont’d)
27Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Application Design ToolsApplication Design Tools
UML ToolsRational Software Modeler, Microsoft Visio, Eclipse-Omondo, Dia (free ware), …
User Interface ToolsYour favorite browser, Microsoft .NET framework, Java Swing, Visio, WireframeSketcher, …
28Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
ImplementationImplementation
Small stand alone applications Java, Microsoft .NET, …
Web based applications Java Servlets, Microsoft .NET, PHP-MySQL,
Enterprise Resource Planning Applications SAP, Oracle Apps, …
29Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Multi-tier Application ArchitectureMulti-tier Application Architecture
Client
(Presentation Logic)
(Business Logic)
(Data Access Logic)
Server
(Business Logic)
(Data Access Logic)
Two-tier Architecture
Web Server
(Business Logic)
(Data Access Logic)
Data Resources
Three-tier Architecture
30Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Multi-tier Application Architecture (cont’d)Multi-tier Application Architecture (cont’d)
31Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Construction and TestingConstruction and Testing
Unit testingSystem testing
32Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Installation and DeliveryInstallation and Delivery
Training Manual
33Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
System Operation and MaintenanceSystem Operation and Maintenance
Program Back up, Recovery and MaintenanceTechnical SupportFurther System EnhancementsHopefully no bugs
34Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
Thank youThank you
Questions?
35Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
ER to Relational Schema (cont’d)ER to Relational Schema (cont’d)
Dealing with Relationships – 1:1Dealing with Relationships – 1:1
EMPLOYEE MANAGES DEPARTMENT1 1
SSNDNO
FNameDName
StartDate
SSN FName
123 John
234 Leela
DNO DName MgrSSN MgrStartDate
1 Account..
234 …
TRANSLATES TO
EMPLOYEEDEPARTMENT
36Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
ER to Relational Schema (cont’d)ER to Relational Schema (cont’d)
Dealing with Relationships – 1:NDealing with Relationships – 1:N
EMPLOYEE WORKS_FOR DEPARTMENTN 1
SSNDNO
FNameDName
SSN FName DNO
123 John 1
234 Leela 1
DNO DName
1 Account..
2 Admin…
TRANSLATES TO
DEPARTMENTEMPLOYEE
37Multidisciplinary Capstone Design Course, Marquette University
02/16/2009
ER to Relational Schema (cont’d)ER to Relational Schema (cont’d)
Dealing with Relationships – M:NDealing with Relationships – M:N
SSN FName
SSN FName
123 John
234 Leela
PNO PName
1001 OceanBlue
1002 EverGreen
PROJECTEMPLOYEE
EMPLOYEE WORKS_ON PROJECTM N
Hours PNO PName
SSN PNO Hours
123 1001 20
123 1002 20
WORKS_ON