Course: CMPE 285

Course Title: Software Engineering Process

Semester: Fall 2009

 

 

 

Instructor Information and Course Description

 

Instructor: Weider D. Yu, Office Engr 283G, Weider.Yu@sjsu.edu, (408) 924-7365

Web page: http://www.engr.sjsu.edu/wdyu

 

 

Course Seminar (Sec. 1)        Meeting Place/Time: Engr 341, Wednesday  18:00 -19:50
Course Lab (Sec. 2)               Meeting Place/Time: Engr 341, Wednesday  20:00-22:50

                                                                                                                 

 

Office Hours:             Tuesday:                       14:30 - 17:00  

                                    Thursday:                     14:30 - 17:00  

                         

 

Course Description

 

Software system development with emerging software engineering processes and technologies; planned and agile development processes, processes of Service-Oriented Architecture (SOA); component-based, Web-based, mobile based, event programming, wireless, user interface, and database access technologies.

 

Agile Software Process, Wireless Mobile Software Development (e.g. Apple iPhone, Microsoft Windows Mobile), Distributed Service Oriented Software Computing Process, Service Oriented Architecture (SOA) Software Development, SEI Personal Software Process (PSP), Team Software Process (TSP), and Capability Maturity Model Integration (CMMI) Oriented Software Development. Security engineering topic is emphasized and discussed. Microsoft .NET software architecture framework, GUI and IDE development platform are introduced and used in class projects. Design software projects using modern disciplined software engineering and security engineering processes and tools.

 

 

 

Prerequisites:

o       CMPE 202 or CMPE 220 or Instructor Consent

 

Textbook:      

Applied Microsoft .NET Framework Programming, by Jeffrey Richter, Microsoft Press, 2002

Distributed Service-Oriented Software Development, by Yinong Chen and Wei-Tek Tsai, Kendall/Hunt Publishing Company, 2008

 

 

References:

Practical Software Engineering – Analysis and Design for the .NET Platform, by Enricos Manassis, Addison-Wesley, 2004

Introduction to Team Software Process, by Watts S. Humphrey, Addison-Wesley, 2000

Visual C# 2005: The Language, by Donis Marshall, Microsoft Press, 2006

PSP – A Self-Improvement Process for Software Engineers, by Watts S. Humphrey, Addison-Wesley, 2005

 

 

Course Conduct:

There are one period of one hour and 50 minute seminar and one period of two hour and 50 minute lab each week. In addition, there is a team based software project design and implementation using disciplined processes.

 

Testing:

 Exam and Homework:

·        Homework/Lab                              10%

·        Quiz/Midterm                                 20% 

·        Special Topic                                 20%

·        Final Exam                                     25%

·        Team Project                                  25%

 

Team Projects:

A variety of project topics will be presented to the class. The team (3-4 students per team) will select one project topic. The students are allowed to use mobile computing (HP Pocket PC, Tablet PC or other embedded devices such as RFID) devices for the project. Each team is required to present and demonstrate the project, and submit a team project report (no more than 30 pages).

·        Team Project: Requirement and User Scenario Analysis                    5%

·        Team Project: Software Design & System Performance                   15%

·        Team Project: Report and PowerPoint Presentation Slides                 5%

 

Project Descriptions

 

Special Topic Report and Project Report Format:

The special topic report and project report are required to use the following template:

 

Report Template

 

 

 

Course Learning Objectives

 

At the end of the course, the student will

 

  1. Be able to explain concepts, practices, and methods related to the software engineering process to deliver quality products on predictable schedule.
  2. Be able to perform known and proven personal software engineering methods and tasks related to software design, implementation and testing as qualified software engineer.
  3. Be able to apply currently available modern mobile computing, Web and Service Oriented Architecture (SOA) based software technologies including information security engineering technology.
  4. Be able to design and implement a mobile, Web and SOA oriented software project using disciplined and measured software engineering process with advanced software technologies in a team.

 

 

 

Course Relationship to Program Educational Objectives

 

 

Program Educational Objectives

Course Learning Objectives

Provide a broadly based curriculum consisting of:

  • Computer Engineering fundamentals, both hardware and Software, that provide a basis for professional competence and life-long learning and
  • Elective courses that provide contemporary professional skills as required by an ever-changing industry.

Be able to explain concepts, practices, and methods related to the software engineering process to deliver quality products on predictable schedule (1).

Prepare students for entry level professional engineering,

As well as continuing studies in engineering or other professional areas.

Be able to perform known and proven personal software engineering methods and tasks related to software design, implementation and testing as qualified software engineer (2).

Provide a practice-oriented, hands-on curriculum that prepares students to apply theoretical concepts to real world problems.

Be able to perform known and proven personal software engineering methods and tasks related to software design, implementation and testing as qualified software engineer (2). Be able to apply currently available modern mobile computing, Web and SOA oriented software technologies including information security engineering technology (3).

Provide students with the problem solving and communication skills required to be successful and advance in their careers.

Be able to design and implement a mobile, Web and SOA oriented software project using disciplined and measured software engineering process with advanced software technologies in a team. (4)

Provide opportunities for students to learn and practice leadership and teamwork skills in a project team environment.

Be able to design and implement a mobile, Web and SOA oriented software project using disciplined and measured software engineering process with advanced software technologies in a team. (4)

 

 

 

 

 

 

 

 

 

Course Topics

 

Some adjustment in the course topics listed may be required during the semester.

 

Week

Lecture Topic(s)

1

Introduction, Mobile Software Introduction, Course Structure

2

Microsoft .NET Framework, Common Type System, Intermediate Language, Assemblies

3

Common Language Runtime, Just-In-Time Library, Framework Class Libraries, Team Project Description: Web Based Wireless Mobile Software Applications

4

C# Object Oriented Programming Language, Types, Variables, Conversions, Expressions, Statements

5

C# Programming Language Structure, Inheritance/Polymorphism, Boxing, Interfaces, Streams, and Collections, Exception Handling

6

GUI Design, Winforms, Web Forms, Web Controls, Web Software Engineering Principles, Web Based Software System Design

7

Mobile and Server Data Base Design and Handling, ADO.NET, SQL

8

Web Service, ASP.NET, XML

9

Elements in Wireless Communications (Wi-Fi), Bluetooth, RFID, Mobile Software System Design and Implementation, Midterm Exam

10

Personal Software Process (PSP) Introduction and Baseline, PSP: Measuring Software Size, Planning Process, Quality Topics,

11

Service Oriented Architecture (SOA), Service Oriented Modeling and Architecture (SOMA), SOA Lifecycle Management, Service Oriented Process

12

Distributed Service-Oriented Software Development and Computing

13

Security Engineering Process (I): Intro. to Security, Cyber Crime, Internet Fraud, Security issues in Mobile Software, Web Service Security Special Topics

14

Agile Software Development Methodology, CMMI Software Development Model, Final Exam

15

Project Final Presentation , Wireless Mobile Project Packaging, Project Report Due

 

Policy on Course Grading:

·        The following table shows our basic grading scheme (approved by the 01-22-2008 department faculty meeting). However, each grade category may have a plus/minus 5-10 % delta, based on the actual student performance in the class.

 

Grade

Percentage

A+ or A or A-

40 %

B+ or B or B-

50 %

C+ or C or C-

5-10 %

D or F

Up to 2 %

 

 

Policy on Plagiarism/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://www2.sjsu.edu/senate/S04-12.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. 

 

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."

 

Note: The course syllabus of Fall 2009 may need to be changed during the semester to fit for the university special furlough schedule implementation.