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 February 16, 2009
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Presentation Outline What is Design? Software Development Process Requirements Discovery Process Software Design Database Design Application Design Implementation
Multidisciplinary Capstone Design Course, Marquette University 02/16/ What is Design? To conceive and plan out in the mind (merriam-webster) The realization of a imagined state The specification that guides production …. And other definitions
Multidisciplinary Capstone Design Course, Marquette University 02/16/ 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, …
Multidisciplinary Capstone Design Course, Marquette University 02/16/ What is Design? (cont’d)
Multidisciplinary Capstone Design Course, Marquette University 02/16/ 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
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Online Ordering for E45 E45 : Personal Electric Power Supply
Multidisciplinary Capstone Design Course, Marquette University 02/16/ eCase Review Management System Insurance Companies Incoming Case Review Case Transcription Billing eCase Management System
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Software Development Process
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Software Development Process (cont’d)
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Requirements Discovery Process Interviews with clients Gather functional and non-functional requirements Sometimes a quick prototype helps
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Requirements Discovery Process (cont’d) Capturing Requirements using Use-Case Modeling
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Requirements Analysis
Multidisciplinary Capstone Design Course, Marquette University 02/16/ 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
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Database Design SSNFNameDNO 123John1 234Leela2 DNODName 1Accounting 2Administration EMPLOYEE DEPARTMENT RowColumn Primary KeyTable Name Foreign Key Basic Concepts of Database Table : Row, Column, Primary Key, Foreign Key, Index
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Database Design (cont’d) Main Phases of Database Design
Multidisciplinary Capstone Design Course, Marquette University 02/16/ ER (Entity Relationship) Modeling Conceptual design phase; result is a conceptual schema ER 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, Birthdate Relationship: WORKS_FOR, … Higher Level Requirements
Multidisciplinary Capstone Design Course, Marquette University 02/16/ ER Modeling (cont'd) EMPLOYEE WORKS_FOR DEPARTMENT SSN Name FName LName MI DNO DName N 1 DOB Age Phone Sex
Multidisciplinary Capstone Design Course, Marquette University 02/16/ ER Modeling (cont'd) Types of Relationships: 1:1; 1:N (previous slide) EMPLOYEE MANAGES DEPARTMENT 1 1 M:N EMPLOYEE WORKS_ON PROJECT M N Hours PNOPName Strong Participation
Multidisciplinary Capstone Design Course, Marquette University 02/16/ ER to Relational Schema Entities Tables Attributes Columns SSNFNameLNameMIMI DOBAgeSex 123JohnSmithA……M 234LeelaB……F EMPLOYEE SSNPhone … EMPLOYEE_PHONE
Multidisciplinary Capstone Design Course, Marquette University 02/16/ 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
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Application Design Models Data Flow Diagrams Pseudo code Algorithms Object-Oriented Analysis and Modeling using UML (Unified Modeling Language)
Multidisciplinary Capstone Design Course, Marquette University 02/16/ UML Use Case Diagrams Activity Diagrams Sequence Diagrams Class Diagrams
Multidisciplinary Capstone Design Course, Marquette University 02/16/ 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
Multidisciplinary Capstone Design Course, Marquette University 02/16/ User Interface Diagrams Mock-ups, Sketches, User interaction Diagrams, Prototype Demos, Browser
Multidisciplinary Capstone Design Course, Marquette University 02/16/ User Interface Diagrams (cont’d) Wireframe
Multidisciplinary Capstone Design Course, Marquette University 02/16/ 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, …
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Implementation Small stand alone applications Java, Microsoft.NET, … Web based applications Java Servlets, Microsoft.NET, PHP-MySQL, Enterprise Resource Planning Applications SAP, Oracle Apps, …
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Multi-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
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Multi-tier Application Architecture (cont’d)
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Construction and Testing Unit testing System testing
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Installation and Delivery Training Manual
Multidisciplinary Capstone Design Course, Marquette University 02/16/ System Operation and Maintenance Program Back up, Recovery and Maintenance Technical Support Further System Enhancements Hopefully no bugs
Multidisciplinary Capstone Design Course, Marquette University 02/16/ Thank you Questions?
Multidisciplinary Capstone Design Course, Marquette University 02/16/ ER to Relational Schema (cont’d) Dealing with Relationships – 1:1 EMPLOYEE MANAGES DEPARTMENT 1 1 SSN DNO FName DName StartDate SSNFName 123John 234Leela DNODNameMgrSSNMgrStart Date 1Account.. 234… TRANSLATES TO EMPLOYEE DEPARTMENT
Multidisciplinary Capstone Design Course, Marquette University 02/16/ ER to Relational Schema (cont’d) Dealing with Relationships – 1:N EMPLOYEE WORKS_FOR DEPARTMENT N 1 SSN DNO FName DName SSNFNameDNO 123John1 234Leela1 DNODName 1Account.. 2Admin… TRANSLATES TO DEPARTMENT EMPLOYEE
Multidisciplinary Capstone Design Course, Marquette University 02/16/ ER to Relational Schema (cont’d) Dealing with Relationships – M:N SSN FName SSNFName 123John 234Leela PNOPName 1001OceanBlue 1002EverGreen PROJECTEMPLOYEE WORKS_ON PROJECT M N Hours PNOPName SSNPNOHours WORKS_ON