CMPE133-Greensheet-f..

advertisement
CMPE 133
Fall 2004
COMPUTER ENGINEERING DEPARTMENT
CMPE 133
Software Engineering II
Fall 2004
Instructor: Dr. M.E. Fayad
Office ENG 283I
E-mail: m.fayad@sjsu.edu
Phone: (408) 924-7364
Web page: http://www.engr.sjsu.edu/~fayad
Course Meeting Place/Time:
Lecture: ENG 339, Tuesday 13:30 p.m. to 15:20 p.m.
Lecture: Lab, Thursday 13:30 p.m. to 5:20 p.m. will be scheduled later.
Office Hours:
Tuesday and Thursday:
3:30 TO 5:30 p.m.
Other times: Send an e-mail to schedule an appointment.
Course URL: http://www.engr.sjsu.edu/fayad /current.courses/cmpe133-fall2004
Course Catalog Description
Software Architecture, Software Technical Metrics, evaluating products, processes, and
resources, improving predictions, products, processes, and resources. Advanced topics such
as: Formal Methods, Software Reuse, Reengineering, Client/Server Software Engineering,
Computer-Aided Software Engineering, Team-Based Projects. Prerequisite: CmpE 135.
Misc/Lab: Lecture 2 hours/lab 3 hours.
Required Textbook
M.E. Fayad and M. Laitinen "Transition to Object-Oriented Software Development." New York: John
Wiley & Sons, August 1998, ISBN# 0-471-24529-1
Required Articles, Columns, Case Studies, and Patterns will be posted on the web later.
Check Weekly Schedule
Other Resources: Instructor notes will be available on the course web page.
Grading
Assignments
Quizzes
Midterm exam
Final exam
Extra Points
Total
40%
10%
20%
30%
5%
105%
Final Grades:
Letter grades will be assigned at the end of the course. Final grades will be based on a competitive curve.
Graduate and undergraduate students are graded separately. Students will be informed of their standing at
intervals throughout the course. Final grades are not negotiable. Unless there are mathematical errors, I
will be unavailable to discuss final grades. Borderline cases will be considered with extreme care, and
fair grades will be rendered.
1
CMPE 133
Fall 2004
Class Attendance:
Important: Class attendance is mandatory. If you have more than four unexcused absences, then you will
be dropped from the class. You are responsible for the material covered in class and any announcements
made in class whether you are there or not.
Homework -- homework assignments are intended to reinforce important concepts and are meant to be
learning experiences. Collaboration and discussion among students is encouraged. Understanding the
homework assignments will be essential for successful completion of the course. Copying someone else's
answers will not be in your best interest. Students must turn in their own solution for each homework
assignment. A total of 5 individual assignments is required and the lowest one will be dropped. (See
Submission Guidelines).
Deadlines: Homework, projects, and programming assignments, for that matter, are due before class.
That means that I will collect all the hardcopies at the beginning of class. A softcopy must be e-mailed to
me before the class as well (see Submission Guidelines). Late assignments incur an automatic penalty of
5%, plus 2% per hour for each hour till 9 PM. You will lose a 20% of points for the first day and after the
first day, 10% of points for each day. All late homework MUST be time stamped in order to receive
any credit. Exceptions will be granted only if arranged prior to the due date or a documented illness
intervenes.
Cheating vs. Collaboration
Copying someone else’s assignment, or the common solution of written or programming assignments will
be considered cheating. Interaction for the purpose of understanding a problem is not considered cheating
and will be encouraged. However, the actual solution to the problems must be one’s own.
Make-up exams will not be given. Students who know that they will miss an exam must notify the
instructor in advance. The only exception will be for substantiated medical emergencies.
Topics to be covered
The topics are subject to change if the schedule slips or we get ahead. See Weekly Schedule
Course Objectives:
This course provides guidelines on dealing with several issues, such as culture changes, selecting
the best method for the project, the finest development environment, staffing the project, tracking
and controlling the OO software development, software measurements, documenting the
software development process, and training. The course also includes sections on: planning,
cost estimation, object-oriented software metrics, test issues, quality issues, documentation, and
cost reduction.
This course provides comprehensive management guidelines ranging from project and personnel
selection, to cost estimation and project tracking, are thoroughly discussed. Technical issues such
as specifying OO requirements and how and what to reuse are analyzed in detail. Real world
issues such as reusing heritage software and ferreting out hidden costs are examined.
Limitations such as over inheritance and meeting real-time constraints, are treated from a real
world perspective.
Course Goals
• Understand how to plan for successful object-oriented software development.
2
CMPE 133
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Fall 2004
Understand how to deal with existing internal and external culture.
Learn how to evaluate and select an object-oriented approach for your project
Learn how to select the right CASE tool for your project.
Understand how to staff and organize your project
Learn how to train your team.
Learn how to deal with legacy systems
Learn how to budget for reuse.
Understand how to analyze, model, and prototype.
Learn how to track and control your project effectively.
Learn how to use size and cost estimation techniques to determine staff and resource
requirements for object-oriented software development project
Learn how to collect, analyze, and incorporate useful project metrics
Learn how to reduce cost and development time without compromising quality or safety of
the object-oriented software project
Learn how to document object-oriented software development projects
Learn how to incorporate software processes into your development and to use it as a major
part for improving your object-oriented software development
Understand the importance of configuration management in object-oriented software
development.
Student Learning Objectives
By the end of the course, you should:
1. Have an ability to apply knowledge of writing software development and management plans
2. Have an ability to measure, track, and control software development projects
3. Have an ability to identify, assess and manage risks with software development projects
4. Have an ability to use the techniques, principle to manage effectively software development
projects.
5. Have an ability to document and apply process improvement, configuration management.
6. Having an ability of collect, analyze and incorporate useful project metrics
7. Have an ability to communicate effectively with fellow team members in their team projects.
Policy on Cheating:

A student or students involved in a cheating incident involving any non-exam instrument
(homework, report, or lab project) will receive an F on that instrument, and will be reported to
the judicial affairs office. Whether the report will carry a recommendation for disciplinary
action will be left to my judgment.
 A student or students involved in a cheating incident on any quick test, the midterm exam or
the final exam will receive an F in the course, and will be reported to the judicial affairs office
with a recommendation for disciplinary action.
I will personally notify you of any such findings or actions. All such reports will also be brought to the
attention of the computer engineering department office. You have certain rights of appeal, which may
serve to exonerate you.
(see http://www.sjsu.edu/student_affairs/academicdishonestyrevisedpolicy.pdf)
Right to Privacy:
You will retain a right to privacy. I will not knowingly reveal your grades, student ID number, phone
number, address or other private information to others, except within the limits of university policy. I
will ask that you supply your first name, last name and last four digits of your SID on written homework
or tests. The grader system requires that you supply the first five digits of your SID as a password.
3
CMPE 133
Fall 2004
Grader permits you to access your own grade records and your standing in the class online, but no other
person’s grade records or personal data.
Students with Disabilities:
Students with disabilities who would need some kind of accommodation should make that known to the
instructor:
"If you need course adaptations or accommodations because of a disability, or if you have emergency
medical information to share with me, or if you need to make special arrangements in case the building
must be evacuated, please make an appointment with me as soon as possible, or see me during office
hours."
Hand In:
All homework assignments and projects need to be typed and handed in as hardcopies and electronically.
You also need to demonstrate Projects to the instructor. Hand-written assignments and projects are not
acceptable. Check submission guidelines.
Class Webpage: http://www.engr.sjsu.edu/fayad /current.courses/cmpe133-fall04 contains the
syllabus, some of the homework and lecture notes, and occasional notices.
Class Schedule – Check Weekly Schedule
4
Download