Course Title:
Software Engineering Process
Instructor: Weider D. Yu,
Office Engr 283G, Weider.Yu@sjsu.edu,
(408) 924-7365
Web
page: http://www.engr.sjsu.edu/wdyu
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
Visual C# 2005: The Language, by Donis
Marshall, Microsoft Press, 2006
PSP – A Self-Improvement
Process for Software Engineers, by
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.
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%
Special Topic Report and Project Report
Format:
The
special topic report and project report are required to use the following
template:
At the end of the course, the
student will
|
Program
Educational Objectives |
Course Learning
Objectives |
|
Provide a broadly based curriculum consisting of:
|
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) |
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 |
|
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 |
|
|
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 |
Policy
on Course Grading:
·
The following table shows our
basic grading scheme (approved by the
|
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.