* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Agent based constraint checking
Survey
Document related concepts
Transcript
Software Design/Database Design Dr. Praveen Madiraju Department of Mathematics, Statistics, and Computer Science Marquette University http://www.mscs.mu.edu/~praveen/ What is Design? 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 eCase Review Management System Insurance Companies Incoming Case Billing Case Review Case Transcription eCase Management System Software Development Process Software Development Process (cont’d) 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 SCRUM (cont’d) Components of Scrum Roles : Scrum Master, Team, Product Owner Process : Sprint Planning, Sprint, Daily Scrum, Sprint Review Meeting Requirements Discovery Process Interviews with clients Gather functional and non-functional requirements Sometimes a quick prototype helps Requirements Discovery Process (cont’d) Enter Patient Details * * * * Case Receptionist * * Enter Employer Details Enter Provider Details Case Reviewer Case Transcriptionist Capturing Requirements using Use-Case Modeling Requirements Analysis 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 Database Design Basic Concepts of Database Table : Row, Column, Primary Key, Foreign Key, Index Primary Key Table Name Foreign Key EMPLOYEE DEPARTMENT SSN FName DNO DNO DName 123 John 1 1 Accounting 2 Administration 234 Leela 2 Row Column Database Design (cont’d) Main Phases of Database Design ER (Entity Relationship) Modeling Conceptual design phase; result is a conceptual schema ER consists of : entities, attributes, and relationships Higher Level Requirements 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, … ER Modeling (cont'd) LName FName MI SSN DNO Name N EMPLOYEE DOB Sex Age Phone DName 1 WORKS_FOR DEPARTMENT ER Modeling (cont'd) Strong Participation Types of Relationships: 1:1; 1:N (previous slide) 1 EMPLOYEE 1 MANAGES DEPARTMENT M:N M EMPLOYEE N WORKS_ON Hours PROJECT PNO PName ER to Relational Schema Entities Tables Attributes Columns EMPLOYEE_PHONE EMPLOYEE SSN FName 123 John 234 Leela LName Smith M DOB I Age Sex A … … M B … … F SSN Phone 123 414-111-… 123 262-000 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 Application Design Models Data Flow Diagrams Pseudo code Algorithms Object-Oriented Analysis and Modeling using UML (Unified Modeling Language) UML Use Case Diagrams Activity Diagrams Sequence Diagrams Class Diagrams 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 User Interface Diagrams Mock-ups, Sketches, User interaction Diagrams, Prototype Demos, Browser User Interface Diagrams (cont’d) Wireframe 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, … Implementation Small stand alone applications Java, Microsoft .NET, … Web based applications Java Servlets, Microsoft .NET, PHP-MySQL, Enterprise Resource Planning Applications SAP, Oracle Apps, … Multi-tier Application Architecture Data Resources Server (Business Logic) (Data Access Logic) Web Server (Business Logic) (Data Access Logic) Client (Presentation Logic) (Business Logic) (Data Access Logic) Two-tier Architecture Three-tier Architecture Multi-tier Application Architecture (cont’d) Construction and Testing Unit testing System testing Installation and Delivery Training Manual System Operation and Maintenance Program Back up, Recovery and Maintenance Technical Support Further System Enhancements Hopefully no bugs Thank you Questions? ER to Relational Schema (cont’d) Dealing with Relationships – 1:1 SSN FName 1 EMPLOYEE DNO StartDate DName 1 MANAGES DEPARTMENT TRANSLATES TO EMPLOYEE DEPARTMENT SSN FName 123 John 234 Leela DNO DName MgrSSN MgrStart Date 1 Account. 234 . … ER to Relational Schema (cont’d) Dealing with Relationships – 1:N SSN DNO FName N EMPLOYEE DName 1 WORKS_FOR DEPARTMENT TRANSLATES TO EMPLOYEE DEPARTMENT SSN FName DNO 123 John 1 234 Leela 1 DNO DName 1 Account. . 2 Admin… ER to Relational Schema (cont’d) Dealing with Relationships – M:N SSN FName M EMPLOYEE N WORKS_ON PROJECT Hours PNO PName EMPLOYEE SSN FName 123 John 234 Leela WORKS_ON SSN PNO Hours 123 1001 20 123 1002 20 PNO PROJECT PName 1001 OceanBlue 1002 EverGreen