CS & CS Capstone Project & Software Development Project

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
© Copyright Eliyahu Brutman Programming Techniques Course.
Chapter 9: Moving to Design
Lesson 1 Week01.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Chapter 9 Elements of Systems Design
The Design Discipline.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Introduction to Database Systems
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Sean Aluoto Anthony Keeley Eric Werner. 2 Project Plan Overview Project Lifecycle model Time line Deliverables Organization plan Risk management Design.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
Chapter 1 Computer Technology: Your Need to Know
Databases and DBMSs Todd S. Bacastow January 2005.
COMPSCI 110 Operating Systems
Chapter 1- Introduction
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction
Chapter 2 Database System Concepts and Architecture
The Development Process of Web Applications
The Client/Server Database Environment
Introduction to Visual Basic 2008 Programming
IS301 – Software Engineering Dept of Computer Information Systems
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Developing Information Systems
Part 3 Design What does design mean in different fields?
CHAPTER 3 Architectures for Distributed Systems
CS 501: Software Engineering Fall 1999
CMPE419 Mobile Application Development
#01 Client/Server Computing
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 1 (pages 4-9); Overview of SDLC
CS & CS Capstone Project & Software Development Project
Introduction to Databases Transparencies
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Architecture
Introduction to the Unified Modeling Language
CS & CS Capstone Project & Software Development Project
Introduction To software engineering
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Chapter 1: The Database Environment
Chapter 1: Introduction to Systems Analysis and Design
The Database Environment
System Analysis and Design
Database Management Systems
Requirements Document
User Requirements: The user requirement(s) document (URD) or user requirement(s) specification is a document usually used in software engineering that.
The Database Environment
Chapter 1: Introduction to Systems Analysis and Design
#01 Client/Server Computing
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

CS 49901 & CS 44901 Capstone Project & Software Development Project Project Progress Report The slides of this course used some public slides/materials on the Web. I would like to acknowledge these resources, and please let me know if I failed to cite them. Xiang Lian Department of Computer Science Kent State University Email: xlian@kent.edu Homepage: http://www.cs.kent.edu/~xlian/

Getting Started Problem Definition Definition of Functional/Non-functional Requirements Software Development Life Cycle Overview Use Cases

Problem Definition Project Title Motivation examples of this project Reflect and cover topics of project Be concise Motivation examples of this project Give the informal and formal definitions of your problem Brief description about the intuition of your problem Formal definition of your problem

Problem Definition (cont'd) Challenges of the problem Real applications Who will use your software? Student? Faculty? Company? Government? Local communities? In what domain, will your software be used? Map services? Social network company? Course catalog development?

Definition of Functional/Non-functional Requirements Components of your project Divide your project into subtasks Backend database & server Web or Mobile interfaces Example: Login function Data collection function Data transmission function Data processing function Data visualization function (GUI) Each subtask is assigned with one or two group members Database designers Web or mobile programmers GUI designers

Software & Tools Software tools Required hardware DBMS, GUI, IDE, existing library, … Required hardware Related programming skills Functions Internet programming Mobile programming (e.g., Android, iOS, etc.) Object-oriented programming Distributed environment

Definition of Functional/Non-functional Requirements (cont'd) Any project’s requirements need to be well thought out, balanced and clearly understood by all involved, but perhaps of most importance is that they are not dropped or compromised halfway through the project Typically, functional requirements will specify a behavior or function Display the name, total size, available space and format of a flash drive connected to the USB port Add customer Print invoice Clarify the input and output of each component in your project Define the protocol among multiple components in your project Data schema Data format during the data transmission https://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/ https://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/

Definition of Functional/Non-functional Requirements (cont'd) Assign the workload among group members evenly It is better to divide the workload such that all group members can work in parallel Do not wait for each other That is why you need to define the protocol for different components! You can write the stub program A method stub or simply stub in software development is a piece of code used to stand in for some other programming functionality int sum (int x, int y) { int rlt = x+y; return rlt; } int sum (int x, int y) { return 9; } stub https://en.wikipedia.org/wiki/Method_stub

Definition of Functional/Non-functional Requirements (cont'd) Typical non-functional requirements describe how the system works User Friendliness Performance – Response Time, Throughput, Utilization, Static Volumetric Scalability Capacity Availability Reliability Recoverability Maintainability Serviceability Security Regulatory Manageability Environmental Data Integrity Usability Interoperability quality characteristics or quality attributes https://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/

Software Development Life Cycle Overview Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality software https://www.tutorialspoint.com/sdlc/images/sdlc_stages.jpg https://www.tutorialspoint.com/sdlc/sdlc_overview.htm

Software Development Life Cycle Overview Software Development Life Cycle (SDLC) Stage 1: Planning and Requirement Analysis Stage 2: Defining Requirements Stage 3: Designing the Product Architecture Stage 4: Building or Developing the Product Stage 5: Testing the Product Stage 6: Deployment in the Market and Maintenance Stage 2: … https://www.tutorialspoint.com/sdlc/images/sdlc_stages.jpg https://www.tutorialspoint.com/sdlc/sdlc_overview.htm

Software Development Life Cycle Overview Week 4 ~ Week 12 Provide plans for milestones of each week (iteration) Use Gantt charts to show the timeline of your project https://www.tutorialspoint.com/sdlc/images/sdlc_stages.jpg https://www.tutorialspoint.com/sdlc/sdlc_overview.htm

Use Cases In software and systems engineering, a use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language as an actor) and a system to achieve a goal https://en.wikipedia.org/wiki/Use_case