Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics, Statistics, and Computer Science Marquette University

Similar presentations


Presentation on theme: "Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics, Statistics, and Computer Science Marquette University"— Presentation transcript:

1 Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics, Statistics, and Computer Science Marquette University http://www.mscs.mu.edu/~praveen/

2 What is Design?

3 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

4 eCase Review Management System Insurance Companies Incoming Case Review Case Transcription Billing eCase Management System

5 Software Development Process

6 Software Development Process (cont’d)

7 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

8 SCRUM (cont’d) Components of Scrum  Roles : Scrum Master, Team, Product Owner  Process : Sprint Planning, Sprint, Daily Scrum, Sprint Review Meeting

9 Requirements Discovery Process Interviews with clients Gather functional and non-functional requirements Sometimes a quick prototype helps

10 Requirements Discovery Process (cont’d) Capturing Requirements using Use-Case Modeling

11 Requirements Analysis

12 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

13 UML Class Diagram Example The company is organized into DEPARTMENTs. Each department has a name, unique number and an employee who manages the department. We keep track of the start date of the department manager. Each department controls a number of PROJECTs. Each project has a name, unique number and a location. 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. We keep track of the number of hours per week that an employee currently works on each project. We also keep track of the direct supervisor of each employee.

14 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

15 Database Design (cont’d) Main Phases of Database Design

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

17 ER Modeling (cont'd) EMPLOYEE WORKS_FOR DEPARTMENT SSN Name FName LName MI DNO DName N 1 DOB Age Phone Sex

18 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

19 ER to Relational Schema Entities  Tables Attributes  Columns SSNFNameLNameMIMI DOBAgeSex 123JohnSmithA……M 234LeelaB……F EMPLOYEE SSNPhone 123414-111-… 123262-000 EMPLOYEE_PHONE

20 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

21 Application Design Models Data Flow Diagrams Pseudo code Algorithms Object-Oriented Analysis and Modeling using UML (Unified Modeling Language)

22 UML Use Case Diagrams Activity Diagrams Sequence Diagrams Class Diagrams

23 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

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

25 User Interface Diagrams (cont’d) Wireframe

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

27 Implementation Small stand alone applications  Java, Microsoft.NET, … Web based applications  Java Servlets, Microsoft.NET, PHP-MySQL, Enterprise Resource Planning Applications  SAP, Oracle Apps, …

28 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

29 Multi-tier Application Architecture (cont’d)

30 Construction and Testing Unit testing System testing

31 Installation and Delivery Training Manual

32 System Operation and Maintenance Program Back up, Recovery and Maintenance Technical Support Further System Enhancements Hopefully no bugs

33 Thank you Questions?

34 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

35 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

36 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 123100120 123100220 WORKS_ON


Download ppt "Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics, Statistics, and Computer Science Marquette University"

Similar presentations


Ads by Google