37
Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics, Statistics, and Computer Science Marquette University [email protected] http://www.mscs.mu.edu/~praveen/ February 16, 2009

Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

Embed Size (px)

Citation preview

Page 1: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 2: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

2Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Presentation OutlinePresentation Outline

What is Design?Software Development ProcessRequirements Discovery ProcessSoftware DesignDatabase DesignApplication DesignImplementation

Page 3: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 4: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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, …

Page 5: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

5Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

What is Design? (cont’d)What is Design? (cont’d)

Page 6: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 7: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

7Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Software Development ProcessSoftware Development Process

Page 8: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

8Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Software Development Process (cont’d)Software Development Process (cont’d)

Page 9: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 10: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 11: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 12: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 13: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

13Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Database Design (cont’d)Database Design (cont’d)

Main Phases of Database Design

Page 14: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 15: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 16: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 17: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 18: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 19: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

19Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Application Design ModelsApplication Design Models

Data Flow Diagrams

Page 20: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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)

Page 21: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

21Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

UMLUML

Use Case DiagramsActivity DiagramsSequence DiagramsClass Diagrams

Page 22: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

22Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Activity DiagramActivity Diagram

Page 23: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

23Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Class DiagramClass Diagram

Page 24: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 25: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

25Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

User Interface DiagramsUser Interface Diagrams

Mock-ups, Sketches, User interaction Diagrams, Prototype Demos, Browser

Page 26: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

26Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

User Interface Diagrams (cont’d)User Interface Diagrams (cont’d)

Page 27: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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, …

Page 28: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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, …

Page 29: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 30: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

30Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Multi-tier Application Architecture (cont’d)Multi-tier Application Architecture (cont’d)

Page 31: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

31Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Construction and TestingConstruction and Testing

Unit testingSystem testing

Page 32: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

32Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Installation and DeliveryInstallation and Delivery

Training Manual

Page 33: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 34: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

34Multidisciplinary Capstone Design Course, Marquette University

02/16/2009

Thank youThank you

Questions?

Page 35: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 36: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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

Page 37: Multidisciplinary Capstone Design Course, Marquette University 02/16/2009 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics,

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