Download presentation
Presentation is loading. Please wait.
Published byMorgan Davidson Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.