Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2009.

Similar presentations


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

1 CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2009

2 CSc 4350 / CSc 6350 SOFTWARE ENGINEERING  Instructor: Xiaolin Hu  Web: www.cs.gsu.edu/~cscxlh  Email: xhu@cs.gsu.eduxhu@cs.gsu.edu  Phone: 404-413-5716  Office: One Park Tower 1438  Office Hours: Tuesday. & Thursday 1:30pm-3:00pm, or by appt  TAs: Feng Gu (Email: fgu1@student.gsu.edu), Song Guo (Email: guosong1079@hotmail.com)guosong1079@hotmail.com  Course Web Page: http://www.cs.gsu.edu/~cscxlh/CSC4350_6350/csc4350_6350.htm http://www.cs.gsu.edu/~cscxlh/CSC4350_6350/csc4350_6350.htm

3 Software Engineering is about implementing software, i.e., programming ?

4 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 mistake: 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 potentially be used by many different universities.

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

6 Textbooks  Textbook (Required)  Bernd Bruegge and Allen Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java (2 nd edition)Prentice Hall, 2004  Available from Bookstore.  Optional Readings  Martin Fowler UML Distilled (3 rd edition)Addison-Wesley, 2004  Shari L. Pfleeger Software Engineering, Theory and PracticePrentice 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.

7 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

8 The course… is not about  Programming  Scientific Problem Solving (such as algorithms) is about  Team work, hands-on experience on a large project  Analysis, Design  Methodological and empirical results about software development

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

10 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

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

12 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  Remember that for the class project, the team (not individuals) is graded as a whole

13 Course format  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.

14 Electronic Communication  Web Page: www.cs.gsu.edu/xhu/CSC4350_6350/csc4350_6350.htm www.cs.gsu.edu/xhu/CSC4350_6350/csc4350_6350.htm  Project deadlines, samples, links, discussion, etc.  Email

15 Class Policies  Policy on academic honesty  Exams  Attendance  Last date for withdrawal  Final exam time  Others – cell phone, walk in/out of classroom

16  Letter Grade  A: 90+  B: 80-89  C: 70-79  D: 60-69  R: 59 and below Grading 43506350 Midterm20%15% Quizzes10%10% Project 50%50% Final Exam20%15% Term Paper10% Project Grading Deliverables 42% Final Report 18% Presentation 20% Peer Evaluation 10% Attendance 10%

17 Class Project 1. 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. 2. The project must be coded in either Java or C++. 3. The system must be easy to test; thus, interactive systems are required. 4. The project will include 6 Deliverables, a final report, a 15 minutes Intermediate presentation, and a 30 minutes final presentation.

18 Group Work 1. Project deliverables, report, and presentation are prepared by all project team members. 2. Group members who are not involved in the preparation of a deliverable can be excluded from the delivered report (names removed) by other members and those whose names do not appear on the report gets a 0 (zero) grade for that deliverable. 3. Peer evaluation is used to encourage responsibility of each team member. 4. Each member of the group must participate in the presentation of the project by actually presenting some part of the project (i.e. talking about some part of the project).

19 Project Milestones (Deliverables) 1. Team and Project selection (send email to xhu@cs.gsu.edu before Aug 25)xhu@cs.gsu.edu 2. Team Description & Project Management (due Sep 1) 3. Requirements Elicitation Report 4. Analysis Report 5. System Design Report 6. Object Design Report 7. Rationale Management and User’s Guide 8. Final Project Report (including testing, code, and all the previous documents) (Reports 2-7 are graded, 7% each, total of 42%, final report 18%)

20 What do you have to do right now?  Form a team of 4 or 5 members  Appoint a team coordinator, choose a team name, decide on a project topic (problem) to work on.  Team coordinator contacts the instructor by email at xhu@cs.gsu.edu: xhu@cs.gsu.edu  Name of the team (acronym)  Team members’ names, email 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

21 Team and Project Selection (due Sep 1) Team coordinator submits 1 st report on Sep 1 at the beginning of the class):  Team Description  Team name, team members’ names and contact information (email, 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.

22 Some Project Ideas  A system similar to WebCT to be used by the SE class.  Student registration system  Interactive text editor  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  A computerized system for a Mechanical Workshop (Car Repairs)  Game systems (focusing on the aspect of software engineering, not the aspect of fancy graphic display) NOTE: All database development for any topic chosen will and must be done using the programming language “chosen”. No DBMS allowed.

23 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

24 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

25 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

26 Projects from Fall, 2007  IPCM : Interactive Personal Calendar Maintainer  SEAPS : An online Medical System  RACE: Car Rental System  Indotel Innovations: A game software  SE5: English Course Management and Online Learning System (ECMLS)  Paradigm Shift: Point Of Sale system

27 Projects from Fall, 2008  MILAM --- Tournament scheduler system  VisionPointGames (VPG) --- Golf Game  GameWorks --- Sudoku Game  GoonSoft --- A side scrolling action typing game  1337 Coderz --- A Tic-tac-toe game system

28 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 2006. 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.

29 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

30 Team Forming  Questionnaire  Critical thinking through writing (CTW) – what does it mean for this class?  Students should clearly state their assumptions, explain their logic, and test their solutions for correctness.  Self-introduction and group formation


Download ppt "CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2009."

Similar presentations


Ads by Google