ITIS 3310 Software Architecture and Design (3)

Fall 2009

Department of Software and Information Systems

College of Computing and Informatics

Pre-requisite (Undergraduate Catalog Description)Objectives:
ITCS 2214 (Data Structures) or permission of the department. Introduction to software design with emphasis on architectural design and design patterns. Models of software architecture. Architecture styles and patterns, including explicit, event-driven, client server, and middleware architectures. Decomposition and composition of architectural components and interactions. Use of non-functional requirements for tradeoff analysis. Component based software development, deployment and management. A system design language, such as UML, will be introduced and used throughout the course.   (so in other words, there is more to creating a software product than sitting down and hacking out some code. This course will teach the student how to successfully and effectively design and create a software product that is reliable and maintainable.)

Instructor:
Prof. Dr. Seok-Won Lee
Tel: 704-687-8662 
Email: seoklee at uncc.edu  (insert 'ITIS 3310' in the subject)
Office: Woodward Hall  #310C (Science and Technology Building)
Office Hours: Tuesday. 2 - 5 PM (or appointment by an email)

Teaching Assistant:  N/A 

Meeting Time & Location:
Wednesdays and Fridays, 9:30-10:45 AM, Woodward Hall 135


Class Schedule

The following is a tentative schedule of topics, textbook references, assignments, and assignment due dates. As circumstances dictate, I reserve the right to change this schedule including but not limited to tests, assignments, due dates, etc. Please review these assignments before they are due so you turn in the proper material.

 

Week of Day Topic Material
Week1

Wed

8-26

Class Introduction
SE Chapter 01 - Software and Software Engineering
SE Ch. 1
Fri

8-28

SE Chapter 01 - Software and Software Engineering
SE Chapter 02 - Process: A Generic View 
SE Ch. 2
Week2

Wed

9-2

SE Chapter 02 - (finish)   Last day to add/drop
Fri

9-4

SE Chapter 03 - Prescriptive Process Models   SE Ch. 3

HW #1 DUE

Week3

Wed

9-9

SE Chapter 03 - Prescriptive Process Models  
SE Chapter 04 - Agile Development 
SE Ch. 4
Fri

9-11

SE Chapter 05 - Practice: A Generic View SE Ch. 5
Week4

Wed

9-16

SE Chapter 05 - Practice: A Generic View (finish)
SE Chapter 06 - System Engineering
SE Ch. 6
Fri

9-18

SE Chapter 06 - System Engineering (finish)
SE Chapter 07 - Requirements Engineering (start)
SE Ch. 7
Week5

Wed

9-23

 

Invited Talk: Frank Wohlfarth (Agile Process, Vanguard)

 

SE Ch. 8
Fri

9-25

SE Chapter 07 - Requirements Engineering (finish)
 
Visio
UML 01
UML 02
Week6

Wed

9-30

Visio
UML 1 - UML Fundamentals
UML 2 - Use Case Diagrams
UML 03
UML 04
UML 05
Fri

10-2

UML 3 - Object-Oriented Design
UML 4 - Activity Diagrams 
UML 06
UML Summary
Week7

Wed

10-7

UML 5 - Sequence Diagrams
UML 6 - Class Diagrams
UML Summary
Team Project Assign - Form Teams
 
Fri

10-9

In Class Team Project Work Time (attendance taken)
Review Mid-Term Test 
 
Week8

Wed

10-14

UML Lab Woodward 335 (Self Study)  SE Ch. 9
Fri

10-16

Mid-Term Exam  
Week9

Wed

10-21

Chapter 8 - Analysis Modeling
 
 
Fri

10-23

Chapter 9 - Design Engineering SE Ch. 10
Week10

Wed

10-28

Chapter 10 - Architectural Design
Chapter 11 - Component Level Design
SE Ch. 11
Fri

10-30

Chapter 12 - User Interface Design SE Ch. 12
Week11

Wed

11-4

Chapter 13 - Software Testing Strategies
Chapter 14 - Software Testing Techniques (start)
SE Ch. 13
Fri

11-6

Chapter 14 - Software Testing Techniques (finish)
Chapter 15 - Product Metrics for Software (start)
SE Ch. 14
SE Ch. 15
Week12

Wed

11-11

Chapter 15 - Product Metrics for Software
Chapter 16 - Web Engineering
SE Ch. 16
Fri

11-13

Project time (attendance taken)  
Week13

Wed

11-18

Chapter 17 - Formulation and Planning for Web Engineering
Chapter 18 - Analysis Modeling for Web Applications
SE Ch. 17
SE Ch. 18
Fri

11-20

Project Checkpoint!  In class discussion of progress: problems, discoveries, etc.  
Week14

Wed

11-25

Thanksgiving Break (No Class)

 
Fri

11-27

Thanksgiving Break (No Class)

 
Week15

Wed

12-2

Chapter 19 - Design Modeling for Web Applications SE Ch. 19
Fri

12-4

Chapter 31 - Reengineering
Project Work Time & Presentation
SE Ch. 31
Week16

Wed

12-9

Project Presentations

 
Fri

12-11

No Class

 
Week17

Wed

12-16

End Term Exam (Dec 16th, 8 - 10:30 AM) - Note different time, possibly different building and room!  
 

Textbook (Required)

Pressman Textbook

 

 

Software Engineering: A Practitioner's Approach, 6th Ed.

by Roger S. Pressman

(ISBN:0-07-285318-2)

Warning!
The International Edition (paperback) is much less expensive than the hardback. However, the contents are NOT identical. Chapter layout is slightly different, and the chapter questions are either different or in a different order. If you opt for the International Edition it is your responsibility to resolve the differences!
 

 

 

Grading

The individual weights of the elements on which your grade will be computed are shown in the table below. As circumstances dictate, I reserve the right to modify the grade weights, modifying or removing requirements as necessary.

Item

Points

Mid-Term Exam

30

End-Term Exam

30

Homework & Project

30

Class participation & attendance

10

Total:

100%

Beginning E-mail is important!

Final letter grade will be based on a curve. Class participation and attendance are important (see Special Notes below).


Resources


Special Notes:

  1. Academic dishonesty, in any form, will not be tolerated. Cheating, copying parts or whole papers/programs, or complicity in any violations of the student academic integrity code will result in prompt action on my part in accordance with the procedures outlined in the UNC Charlotte Code of Student Academic Integrity, effective August 16, 1984. See a more detailed statement at the end of this syllabus.
  2. You are responsible for class absencesAttendance is mandatory for all class meetings. Three to four unexcused absences results in the loss of a letter grade; more than four unexcused absences will result in the automatic failure of the course.
  3. You need to know how to program (especially in JAVA). 
  4. Please let instructor know the need, when feasible, to flexibly accommodate student observances of the holy days of all religious denominations.  
  5. Late policy: Any assignments should be submitted BEFORE the class on the due dates. In case of late submission due to unavoidable circumstances, students should obtain permission from the instructor ahead of the deadline. Late submissions will result in a 10% penalty per day. 
  6. No early or make-up exams. No exceptions.
  7. The standards and requirements set forth in this syllabus may be modified at any time by the course instructor.  Notice of such changes will be by announcement in class [or by written or email notice] [or by changes to this syllabus posted on the course website at (URL)].
  8. Class participation: Students are encouraged to ask questions in class. The questions should be relevant to the course topics. Also initiating or engaging discussions in class or online discussion board in WebCT that help further understanding of course materials or topics are all welcome and encouraged.  All cases will be used in the evaluation.
  9. In the event of inclement weather, call 704-687-2877 for information about for closings or delays. For more information, look here.
  10. Inappropriate conduct will result in your being dismissed from class; that class will count as an unexcused absence; that misconduct will be reported to the department. Inappropriate conduct includes, but is not limited to, disrespectful or vulgar language, disruptive conduct (such as talking during a lecture, unnecessary comments that add no value to the class), sleeping in class, and any activities that negatively impacts the ability of other students to learn and/or listen in class. If you exhibit this behavior, you will be asked to leave the class, and that class will count as an unexcused absence. Repeated inappropriate behavior may result in a student’s being dismissed from the course, with a potential reduction in grade, including a potential grade of “F” in the course. All electronic equipment, including cellular phones and beepers, must be turned OFF during class. A student whose phone or beeper goes off in class will be banished from class for the remaining class time, and that class will count as an unexcused absence. Students are permitted to use computers during class for note-taking and other class-related work only. Those using computers during class for work not related to that class must leave the classroom for the remainder of the class period.  

Academic Integrity:

Students have the responsibility to know and observe the requirements of The UNC Charlotte Code of Student Academic Integrity (Catalog p. 375). This code forbids cheating, fabrication, or falsification of information, multiple submission of academic work, plagiarism, abuse of academic materials, and complicity in academic dishonesty. There are no special requirements regarding academic integrity in this course. The code will be strictly enforced and is binding on the students. Grade and academic evaluations in this course include a judgment that the student's work is free from academic dishonesty of any type; and grades in this course therefore should be and will be adversely affected by academic dishonesty. Students who violate the code can be expelled from UNC Charlotte. The normal penalty for a first offense is zero credit on the work involving dishonesty and further substantial reduction of the course grade. In almost all cases the course grade is reduced to an F. Copies of the Code can be obtained from the Dean of Students Office or me. Standards of academic integrity will be enforced in this course. Students are expected to report cases of academic dishonesty to me immediately.


Last updated Thursday, November 19, 2009