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