Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2005

Similar presentations


Presentation on theme: "CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2005"— Presentation transcript:

1 CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2005

2 Before we start Safety Issue Registration Issue

3 CSc 4350 / CSc 6350 SOFTWARE ENGINEERING
Instructor: Xiaolin Hu Web: Phone: Office: One Park Tower 1438 Hours: Tuesday. & Thursday 3:30pm-5:00pm, or by appt TAs: Zhang, Jun Suo, Xiaoyuan Course Web Page: Introducing Two Teaching Assistants

4 Agenda Syllabus Class project Demonstration of projects from Fall 2004
Questionnaire (5 minutes) Self-introduction and team formation

5 Textbooks Textbook (Required) Optional Readings
Bernd Bruegge and Allen Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java (2nd edition) Prentice Hall, 2004 Available from Bookstore. Optional Readings Martin Fowler UML Distilled (3rd edition) Addison-Wesley, 2004 Shari L. Pfleeger Software Engineering, Theory and Practice Prentice Hall, 1998 Other Recommended Books Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: “Design Patterns”, Addison-Wesley, 1996. Grady Booch, James Rumbaugh, Ivar Jacobson, “The Unified Modeling Language User Guide”, Addison Wesley, 1999. K. Popper, “Objective Knowledge, an Evolutionary Approach, Oxford Press, 1979. 43 41

6 Requirements for this Class
You have passed Data Structures course You are proficient in a programming language You want to learn more about analysis and design of complex software systems You wan to acquire experience to work on a “real” project in a “real” team setting environment

7 The course… is not about Programming Learning
Scientific Problem Solving is about Team work, hands-on experience on a large project Analysis, Design Methodological and empirical results about software development

8 Objectives of the Class
Comprehend and appreciate Software Engineering: Acquire technical knowledge Acquire managerial knowledge Acquire team work experience on software development

9 Acquire Technical Knowledge
Understand System Modeling and OO Design Learn UML (Unified Modeling Language) Learn different modeling methods: Use Case modeling Object Modeling Dynamic Modeling Issue Modeling

10 Acquire Managerial Knowledge
Understand the Software Lifecycle Process vs Product Software lifecycles Greenfield Engineering, Interface Engineering, Reengineering Project Organization and Communication Techniques

11 Emphasis is on team-work
Participate in collaborative design Work as a member of a project team, assuming various roles Create and follow a project and test plan Create the full range of documents associated with a software product Complete a project on time

12 Course format A Single Semester Course A Team Project Course
4 A Single Semester Course Lectures: Theoretical foundations and background Project: Learn how to apply them in practice Lectures and Project work are interleaved A Team Project Course Student teams will be working on projects of their choice Cheating Rule You cheat if you do not acknowledge the contribution made by others. 5 3

13 Electronic Communication
Web Page: Project deadlines, samples, links, discussion, etc. WebCT: Team communication (message board, etc.) Electronic delivery of documents and programs Signup to WebCT if you haven’t done so from 40 38

14 Class Policies Policy on academic honesty Last date for withdrawal
Final exam time Attendance Others – cell phone, walk in/out of classroom 40 38

15 Grading Midterm 20% 15% Quizzes 10% 10% Letter Grade Project 50% 50%
7 Midterm 20% 15% Quizzes 10% 10% Project 50% 50% Final Exam 20% 15% Term Paper 10% Project Grading Deliverables 42% Final Report 20% Presentation 20% Peer Evaluation 10% Attendance at presentations 8% Letter Grade A: 90+ B: 80-89 C: 70-79 D: 60-69 R: 59 and below You are cheating if you do not acknowledge the contribution made by others 43 45

16 Class Project The project must not be trivial, but at the same time it should not be too ambitious, so that you can complete on time. A typical project may have 4000 (four thousand) lines of code. This includes reasonable amount of comment lines as well. The project must be coded in either Java or C++. The system must be easy to test; thus, interactive systems are required. The project will include 6 Deliverables, a final report, a 10 minutes Intermediate presentation, and a 30 minutes final presentation. 42 40

17 Project Milestones (Deliverables)
Team and Project selection (send to before Aug 30) Team Description & Project Management (due Sep 6th ) Requirements Elicitation Report Analysis Report System Design Report Object Design Report Rationale Management and User’s Guide Final Project Report (including testing, code, and all the previous documents) (Reports 2-7 are graded, 7% each, total of 42%, final report 20%) 42 40

18 What do you have to do right now?
Form a team of 4 members Appoint a team coordinator, choose a team name, decide on a project topic (problem) to work on. Team coordinator contacts the instructor by at Name of the team (acronym) Team members’ names, addresses, web pages (if there are), whether undergrad/MS/Ph.D student, what year in school Project topic (see suggested topics, next slide) Coordinator also CC this message to all team members. Teams and their projects will be announced in the course web page as soon as they are reviewed and approved by the instructor. Every student prepares his/her resume (to be included in the first report) 48 46

19 Team and Project Selection (due Sep 6)
Team coordinator submits 1st report on Sep 6 at the beginning of the class): Team Description Team name, team members’ names and contact information ( , web, etc.), team coordinator selected Roles: Who is client, who is developer (for the first phase) Project Description Project topic, a few paragraphs describing the problem Programming Language of Choice (Java or C++, Java preferred) Team Members’ Resumes Signed Copy of the Contract A Gantt chart describing the project schedule More detailed requirements will be announced on the class web.

20 Suggested Project Topics
A system similar to WebCT to be used by next year’s SE class. Student registration system Interactive text editor Personal finances manager A car racing game system Flight reservation A computerized system for a Medical Office or an Insurance Company Hotel reservation system Some kind of training system A game of life simulation (requirements will be discussed with group that selects this topic). A shopping system – perhaps something like Amazon.com. System for a small company to track customer/vendor databases, sales orders; audit trails Menu driven inventory control system for a small business Personal calendar maintainer A computerized system for a Mechanical Workshop (Car Repairs) NOTE: All database development for any topic chosen will and must be done using the programming language “chosen”. No DBMS allowed.

21 Projects from Fall, 2004 Video Checkout System
Virtual Pet (a virtual pet for home PC. This pet will be interactive and simulate a basic lifetime cycle.) A shopping system Hotel reservation system  CARRS is an automobile rental reservation system for independent, franchisee, corporate and head office automobile rental operations an interactive poker tutor Personal calendar maintainer implement the classic board game RISK Inventory control system for a small business

22 Schedule and Sample Projects
A Note about Schedule In Class Project Time Sample Projects


Download ppt "CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2005"

Similar presentations


Ads by Google