multidisciplinary capstone design course, marquette university 02/16/2009 software design/database...

Post on 05-Jan-2016

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

praveen@mscs.mu.eduhttp://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

top related