Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2007

Similar presentations


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

1 CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2007

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

3 A Task Develop a system similar to WebCT to be used by the SE class What will you do? What are some possible challenges that you can foresee? A common problem: jump to the implementation stage too early!! A New Task Develop a similar system to be used by the whole GSU. Develop a similar system that could be used by many different universities.

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
Scientific Problem Solving (algorithms) 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 Note that for the project, the team (not individuals) is graded as a whole

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. 40 38

14 Class Policies Policy on academic honesty Last date for withdrawal
Exams Attendance Last date for withdrawal Final exam time 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 18% Presentation 20% Peer Evaluation 10% Attendance 10% 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 15 minutes Intermediate presentation, and a 30 minutes final presentation. 42 40

17 Project Milestones (Deliverables)
Team and Project selection (send to before Aug 28) Team Description & Project Management (due Sep 4th ) 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 18%) 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) A note on resume 48 46

19 Team and Project Selection (due Sep 5)
Team coordinator submits 1st report on Sep 5 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 the 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 Projects from Fall, 2005 “Blue JAYS Solution.” – An On-line Dating type of system LAVA: A shopping system EDM Electronic Data Management A.L.E.S. (Automated Life Ecosystem Simulator) Poker STOP (Statistical Tool for Online Play) Film Loyalty Information collector An inventory control system for Keeping track of inventory in the store

23 Projects from Fall, 2006 GILL'S STORE: Sandy's uncle owns an alterations store. This project is to implement a limited system that would help her uncle manage alterations requests. SysCon: A system for small company to track customer orders and vendor InFiP: Interactive Financial Planner JAMMers: Java Active Money Managers Neoteric OO brotherhood: Student registration system H.U. (Hackers United): Personal information management software

24 An Email Received in June 2007
Hi Dr. Hu, I am xxxxx. You probably don't remember me. I am xxxxxxx that was in your software engineering class last Fall My team and I worked on the project JAMMer. Anyways, I just want to tell you that I got a software engineering job. I started working and everything I am doing at my work is exactly the same thing we did in your class. I want to say thank you so much for preparing me for the real job. My duty in my job is system design, class diagram, and documentation. I am glad that I learned those stuff in your class. Thanks again. Take care.

25 Other Things Get familiar with the class web site
A Note about Schedule in-class project time at the second half of the semester order of final presentation Tools/Software Microsoft Visio – for “business-oriented” chart (Gantt chart, Pert chart) ArgoUML for UML diagrams Sample Projects Sample Presentations and other sample documents

26 Team Forming Questionnaire Self-introduction and group formation


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

Similar presentations


Ads by Google