
Software Engineering: Theory and Practice
Shari Pfleeger & Joanne Atlee
ISBN 0131469134

Enterprise Application Development
with Visual C++ 2005
Max Fomitchev
ISBN 1584503920
|
| CSE483W: Software Design Methods |
| Dr. Max I. Fomitchev |
| Assistant Professor of Computer Science & Engineering |
| 111J IST, Pennsylvania State University,
University Park, PA 16803 |
| Email:
fomitchev@psu.edu · Phone: (814) 235-9785 |
|
| Syllabus |
| doc ·
Blue Book Description |
| Philosophy |
| Learn software
engineering by doing: IST lab 117 has been setup for
teaching this class in a more hands-on format. Students are
expected to spend a bulk of the time working on a team
project in a team environment using
Microsoft Visual
Studio Team System and
Team Foundation Server. The class
navigates through all stages of software engineering from
requirement gathering, to writing specification, to program
design, to coding, to testing, and finally to deployment
focusing on rapid application development (RAD) based on
modified agile methodology.
Students are also given individual projects
for which they must produced a complete software requirement
specification: this means that the software has to be thought
out in minuscule detail but not coded.
All students are expected to produce a report
on current software-development related topic (e.g. software
development tool, methodology, technology, industry standard,
etc.) and present it to the class. |
| Prerequisites |
|
CSE 465, ENGL 202C, C++ |
| Past and Current Projects |
Spring 2007: Parallel
Gravitational N-Body Simulation using MPI and Treecode algorithm
Spring 2008: Secure Biometric Authentication using
fingerprints and
BioLink SDK |
| Class Topics |
- Introduction
- What is Software Engineering? Who Is
Involved?
- Software Systems, Software Lifecycle
- CASE Tools, Visual Studio, TFS
- Planning, Keeping Track of Progress
- Requirements: Gathering, Analyzing
Requirements
- Requirements: Verification, Validation,
Specification Lang.
- Process Modeling, UML
- Data Modeling, SQL
- Design: Client-Server, 3-Tier
- Design: Services, Web Services, XML
- Design: Scalability, Parallel vs. Serial
- TEST 1
- Open Source
- Objects: OOP
- Objects: OOD
- Coding Standard, Best Practices
- Mid-Term Exam
- Methodologies: Agile, Extreme
- Methodologies: Clean Room
- Testing: Unit Testing
- Testing: Integration Testing
- Testing: Acceptance Testing
- TEST 2
- Deployment
- Maintenance
- Software and Process Evaluation
- Migration (Transfer), Decision Making,
Certification
- FINAL EXAM
|
| Lecture Notes (PowerPoint) |
-
Introduction into Software Engineering
-
Software
Lifecycle
-
Planning
and Managing
-
Requirements
- Design
-
Improving Design
- Objects
-
Data Design
Rules
-
Coding Standard
- Testing
-
Integration
Testing
-
System Testing
-
Maintaining the System
-
Team Project
(N-Body)
-
Individual
Project Template (doc)
|
| Grading Policy |
| Attendance |
20% (each class worth 1%) |
| Test 1 |
10% |
| Test 2 |
10% |
| Report |
10% |
| Assignments |
10% |
| Team Project |
20% |
| Individual Project |
10% |
| Mid-Term Exam |
10% |
|
| Letter Grades |
| A |
95-100% |
| A- |
90-94% |
| B+ |
87-89% |
| B |
83-86% |
| B- |
80-82% |
| C+ |
76-79% |
| C |
70-75% |
| D |
60-69% |
| F |
0-59% |
|
|