TINFO 360 Syllabus

advertisement
1
Information Systems & Technology
Institute of Technology
TINFO 360 Course Syllabus
Foundations of Information Systems Analysis and Design
I. Credit
 5 credits: 4 hours of lecture and 2 hours of scheduled laboratory sessions
II. Course Description
This course examines concepts and techniques for analyzing and designing software systems to
meet maintenance and modernization requirements such as changes of new business logics,
integration with other systems, adoption of new computing paradigms, etc. The following topics
are covered in this course:
 Software Aging
 Software Reengineering Taxonomy
 Software Reengineering
 Software Architectural Patterns
 Visualizing/Specifying/Constructing/Documenting a Software-Intensive System in UML
 Software Development Processes
 Software Reengineering Case Studies
III. Learning Objectives
Student learning objectives are:
 to understand how to analyze an information system by using software reverse
engineering methods;
 to understand how to design new requirements and integrate the designs with existing
information systems by using software forward engineering methods;
 to understand a software reengineering process and apply it to maintenance and
modernization of software-intensive systems;
 to understand how legacy applications can be modernized to target ones using advanced
technologies.
IV. Learning Outcomes
A student who successfully completes this course should exhibit the following skills and
knowledge:
 An understanding of the concepts of software reengineering;
 An understanding of the concepts of software architectural patterns;
 An understanding of the concepts of modeling a software-intensive system;
 An ability to deal with the practices of 5W1H based software reengineering process;
 An ability to model a software-intensive system with a CASE tool supporting UML;
 An ability to do refactoring source codes in a controlled and efficient manner.
V. General Method of Instruction
Students are encouraged to attend classes or arrange absences in advance. The class is divided
into several teams for in-class group discussions, hands-on labs, assignments, and one term
2
project. Each student must read the assigned readings and be prepared to discuss them in class.
Also, each student/team will have a discussion time to share their learning in class. To aid the
learning process, students are required to participate in group discussion. The success of the
course is largely determined by the quality of the interactions. Class participation will be
respected according to their logical contents rather than personal opinions. Students are advised
to think carefully through the implications of their position in advance of contributing to the
discussion.
VI. References
Software Aging
[MUNN98] John C. Munson, Software Lives Too Long, IEEE Software 15(4), 1998
[ZVEG98]
Nicholas Zvegintzov, Software Should Live Longer, IEEE Software 15(4), 1998.
Software Reengineering Taxonomy
[CHIK90]
Elliot J. Chikofsky and James H. Cross II. (1990). Reverse Engineering and
Design Recovery: A Taxonomy. IEEE Software Vol. 7, No. 1. Jan. 1990. pp. 1317.
Software Reengineering
[STAN95]
The Standish Group Report. (1995). Chaos Report. 1995.
[BERG99A] John Bergey, Dennis Smith, Scott Tilley, Nelson Weiderman and Steven Woods.
Why Reengineering Projects Fail, Techical Report. CMU/SEI-99-TR-010,
Software Engineering Institute, Carnegie Mellon University, April 1999. 25.
[BERG99A] John Bergey, Dennis Smith and Nelson Weiderman, DoD Legacy System
Migration Guidelines, Technical Report CMU/SEI-99-TN-01, Software
Engineering Institute, Carnegie Mellon University, 1999. 26
Software Architectural Patterns
[APPL98]
Brad Appleton. Patterns and Software: Essential Concepts and Terminology.
Object Magazine Online. Vol. 3, No. 5. May 1997.
[KRUC95]
Philippe B. Kruchten. (1995). The 4+1 View Model of architecture. IEEE
Software. Volume: 12 Issue: 6, Nov. 1995. Pages: 42 –50. (A PDF file is
available at the course web site.)
Visualizing/Specifying/Constructing/Documenting a Software-Intensive System in UML
[OMG05]
OMG. Introduction to OMG’s Unified Modeling Language (UML). 2005
http://www.omg.org/gettingstarted/what_is_uml.htm
[OMG07]
OMG. OMG Unified Modeling Language (OMG UML) Superstructure, V2.1.2.
November, 2007. http://www.omg.org/docs/formal/07-11-01.pdf
[AMBL05] Scott W. Ambler, The Elements of UML 2.0 Style, Cambridge University Press,
2005
[SCOT01]
Rosen Scott, Introduction to the ICONIX Process of Software Modeling. Oct 12,
2001.
3
Software Development Processes
[EXTR06]
Extreme Programming: A gentle introduction.
http://www.extremeprogramming.org/
[STEP04]
M. Stephens, and D. Rosenberg, “The Irony of Extreme Programming”, Dr.
Dobb’s. May 01, 2004.
[CORR09]
H. Correa, Introduction to Scrum, CoDe Magazine, July 18, 2009.
[CHUN09A] Sam Chung, Daehee Won, Seung-Ho Baeg, Sangdeok Park, A Model-Driven
Scrum Process for Service-Oriented Software Reengineering: mScrum4SOSR,
The 2nd International Conference on Computer Science and its Applications
(CSA 2009), December 10-12, 2009, Jeju Island, Korea.
[CHUN09B] Sam Chung, Daehee Won, Seung-Ho Baeg, Sangdeok Park, Service-Oriented
Reverse Reengineering: 5W1H Model-Driven Re-Documentation and Candidate
Services Identification, IEEE International Conference on Service-Oriented
Computing and Applications (SOCA’09) December 14-15, 2009, Taipei, Taiwan.
Software Reengineering Case Studies Using C# .NET
[HUMM07] Joe Hummel. (2007). Microsoft C# .NET Workshop – Introductory Track. (A
zipped file is available at the course web site.)
[MURA08] Joel Murach. Murach’s C# 2008. Mike Murach & Associates, Inc. (978-1890774-46-2)
VII. Class Assignments and Grading
Grades in the course will be determined as follows:
Quizzes
S/W Reengineering Case Study Lab Assignments
S/W Reengineering Project
Phase 1 – Abstract
Phase 2 – Progress Report
Phase 3 – Progress Presentation & Demo
Phase 4 – Final Report
Exam I
Exam II
Total
10%
30%
30%
5%
5%
10%
10%
15%
15%
100%

Quizzes (10%)
o To check your follow-up such as reading the given papers and slides, etc., several quizzes
will be taken.
o Regardless of any reason, no makeup quiz is provided.
o It is highly likely that some of the group discussion problems or very similar ones will be
used in either quizzes or exams.

S/W Reengineering Case Study Assignments (30%)
o Several legacy systems using Microsoft (C# .NET and/or ASP .NET) are partially or
fully reengineered.
o The maximum number of case studies is dependent upon the course progress.
4
o No late submission is allowed.
o This assignment consists of two main steps:
o Reverse software engineering
 Static and dynamic analyses are conducted.
 A UML visual model is generated: a visual model for the legacy system in
C# .NET.
o Forward software engineering
 Static and dynamic analyses are conducted
 Different levels of testing are conducted.
 The visual model is revised for modification requirements: a visual model
for the target system in C# .NET.


S/W Reengineering Project (30%)
o Each team will find a legacy system in Java that was not developed by any team member.
o The legacy system in Java will be reengineered to a target system in Microsoft C# .NET.
The legacy system is re-documented and restructured through both reverse and forward
software development processes.
o This assignment consists of two main steps:
o Reverse software engineering
 Static and dynamic analyses are conducted.
 A UML visual model is generated: a visual model for the legacy system in
Java
 An XML document is generated: the XML documented legacy system in
Java
o Forward software engineering
 Static and dynamic analyses are conducted.
 The visual model is revised for modification requirements: a visual model
for the target system in C# .NET.
 Different levels of testing are conducted.
 And then, the target system is generated: the XML documented target
system in C# .NET
In-Class Examinations (30%)
Two examinations, exam I (15%) and exam II (15%) for Software Reengineering will be
given to provide a measure of progress and understanding of the course subject, respectively.
VIII. Academic Standards
Both the value and the success of any academic activity, as well as the entire academic
enterprise, have depended for centuries on the fundamental principle of absolute honesty.
Students assume full responsibility for the content and integrity of the academic work that they
submit. Although students are encouraged to discuss ideas and analyses with others, individual
written assignments must reflect only the individual’s efforts. Reference citations must be used
correctly to credit another person’s ideas.
A complete list of Academic Standards is published in the University of Washington Tacoma
Catalog. A student who violates Academic Standards for an assignment will receive no credit for
that assignment.
5
IX.
Grading Policy
Undergraduate Students
The UW grading system will be respected in my grading. See the UW grading information
website for information for undergraduate students:
http://www.washington.edu/students/gencat/front/Grading_Sys.html
According to the UW grading policy, you must have the following GPAs in order to pass this
course: Undergraduate students need 2.0 or greater.
Grade GPA
4.0
A
3.9
3.8
A3.7
3.6
3.5
Score
98-100
96-97
94-95
91-93
90
87-89
Grade GPA
3.4
B+
3.3
3.2
3.1
B
3.0
2.9
2.8
B2.7
2.6
2.5
Score Grade
84-86 C+
82-83
79-81
77-78 C
75-76
72-74
69-70 C67-68
64-66
62-63
GPA
2.4
2.3
2.2
2.1
2.0
1.9
1.8
1.7
1.6
1.5
Score
59-61
57-58
54-56
52-53
48-51
47
44-46
42-43
39-41
37-38
Grade GPA
1.4
D+
1.3
1.2
1.1
D
1.0
0.9
0.8
D0.7
0.0
E
Score
34-36
32-33
29-31
26-28
24-25
21-23
20
18
<18
X.
Course Web Site & Tentative Course Schedule
The professor will maintain the course web site. Course related resources such as syllabus,
schedule, assignments, old exams, etc, will be linked to the web site. According to the course
progress, the web site may be updated without giving enough notice in advance:
https://moodle.insttech.washington.edu/
In addition, the schedule and procedures for this course are subject to change. Changes will
be announced in class and it is the student's responsibility to learn and adjust to changes.
W
1
2
3
4
5
6
7
8
Topic
Software Aging
SR Case Study: Console Applications
Software Reengineering Taxonomy
SR Case Study: GUI Applications
Software Reengineering
SR Case Study: Procedure vs. Object-Oriented
Software Architectural Patterns
SR Case Study: Class Design & Best Practices
Visual Modeling
Exam I
Visual Modeling
SR Case Study: Windows Application
Software Development Process
SR Case Study: DB Programming
Software Development Processes
Reading
[MUNN98], [ZVEG98]
[HUMM07]* Ch. #1
[CHICK90]
[HUMM07] Ch. #2
[STAN95], [BERG99A]
[BERG99B]
[HUMM07] Ch. #3
[APPL98], [KRUC95]
[HUMM07] Ch. #4
[OMG05], [OMG07]
[AMBL05], [SCOT01]
[HUMM07] Ch. #5
[EXTR06],[STEP04]
[MURA] Ch. #17 & #18
[EXTR06], [CORR09],
Labs
#1
TP Phase 1
#2
#3
TP Phase 2
#4
#5
#6
6
9
10
11
SR Case Study: DB Programming
Software Development Processes
SR Case Study: DB Programming
SR Case Study: LINQ
Term Project (TP) Presentation
Exam II
[MURA] Ch. #18 & #19
[CHUN09A],[CHUN09B]
[MURA] Ch. #19 & #20
[MURA] Ch. #23
#7
#8
TP Phase 3
TP Phase 4
XI.
Disability Support Services
If you would like to request academic accommodations due to a temporary or permanent
disability, contact Disability Support Services (DSS) in the Mattress Factory Bldg., Room
253. To schedule an appointment, call 253.692.4522. You are required to provide adequate
documentation of your disability to DSS to receive services. For more information see:
http://www.tacoma.washington.edu/studentaffairs/SHW/dss_about.cfm
Download