SW 401 Software Design Methods
Course Name & Number: Software Design Methods SW401
Instructor: Rino Nori
Business Phone & Address: 24 Camp Avenue, #4349
Stamford, CT 06907-0349
Telephone: (203) 329-7013
E-mail: rnori@noriassociates.com (Prefix subject with "Rino_Fairfield:")
Instructor Assistance: 30 minutes before and after class
Lecture Hours & Dates: 15 classes: Tuesdays 6:30-9:30 p.m. Unless time noted otherwise
Lecture Location: Bannow 256
Lab Hours & Location: Included within the lecture, same room as the lecture room.
Required Texts:
T1) Systems Analysis & Design, An Object-Oriented Approach With UML, by: Dennis, Wxiom, Tegarden, John Wiley & Son, 2002, ISBN: 0-471-41387-9
T2) Modern Systems Analysis & Design, 3e by Hoffer, George, Valacich, Prentice
Hall, 2002, ISBN: 0-13-033990-3.
T3) Using UML Software Engineering With Object Components (updated edition), Perdita Stevens, Addison Wesley, 2000.
R1) Designing Software For Distributed Systems, by John Porter, Chapter 5 Reprint, obtained from BEI School of Engineering
Optional Texts: If desired, the student may refer to the following textbooks for added insight and information regarding the domain of this course. There will be no assignments from these textbooks, they are provided purely as a list of added readings should the student desire advanced knowledge.
O1) Requirements Analysis & System Design, Developing Information Systems with UML
O2) Object Oriented Methods Principles & Practice, 3rd Edition
O3) Metrics and Models in Software Quality Engineering
Course Description: This course provides an overview of system development methodology techniques with a focus on both traditional and object oriented methods. The student is exposed to UML notation and diagramming techniques such as: DFD, Object diagrams, ERD diagrams, Sequence and Transition diagrams, Class diagrams. Topics include development processes, project techniques, database concepts, object oriented analysis and design. In class exercises are used to build the student's skill set in developing object oriented design work products.
Prerequisites: General knowledge of IT concepts, systems, and systems development practices.
Course Objectives And Learning Outcomes (LO):
1: To learn the proper methods for approaching the design of a system.
At the conclusion of the course the student will know how to approach the design of a project, how to conduct it, and how to develop the products of the design.
Course Requirements: Timely and satisfactory completion of the student project, homework and exams. Active and successful class participation. Students are required to attend classes. Students are required to obtain notes and other information from classmates in case of absence. Students are required to take notes, copies of the instructor material will not be provided. Students may have to perform some research on the web or at their place of business.
Course Details:
Lessons: Fifteen three hour lessons, each lesson including lecture material, instructor demonstrations, and student hands on development of design work products.
Homework: Fourteen reading and/or written assignments covering items described in lessons 1-14.
Each written assignment will include ten free form questions or exercises related to topics covered in the lesson. The reading assignment will similarly address topics covered in the lesson. The reading assignment will be based upon select textbook material and/or information available on the web. It is advised that one read the reading assignment in advance of the class, as that will aid in class discussions and participation. The reading assignment should also be read after the class to reinforce learning and to assist with the homework.
Grading of the written homework assignments will be based upon the number of correct answers, with each correct answer being worth 10 points. Prior week homework assignments will be reviewed at the beginning of each class. The assignments will be exchanged amongst students, reviewed and graded, thus providing a review of the prior week's lesson.
Written homework assignments will be provided to the students at the end of each class. It is the student's responsibility to obtain a "buddy" who can be relied upon to bring the homework assignment to the student and/or to bring the completed homework assignment to class. A late homework is assigned a zero grade.
Project: One independent student research paper on a contemporary Information Technology topic.
On the first day of class each student will select (or be assigned) a topic for which to research, prepare a brief report and oral presentation. The topic will be a technical issue facing Information Technology practitioners and is designed to allow students to learn how to research contemporary matters and then share it with their colleagues. Each student will be asked to prepare a clear written report for the instructor, and will also be asked to be ready to present it to the class within a 15-25 minute timeframe plus 5-10 minutes for student questions.
Exams: Three 75 minute exams: At the beginning of lessons 5, 10, and 15.
The objective of each exam will be to measure and review knowledge learned during lessons 1-4, 5-9, and 10-14 respectively. The exam policy will be to allow students the use of online references and/or text material as required (but no notes or homework assignments) thus further reinforcing the student's ability of using references.
Grading: The course grade will be based upon a composite average of the following:
- Each of the three exams, normalized to 100, is worth 25% of the final grade
- The homework assignments, less the lowest two, normalized to 100, are worth 20% of the final grade.
- The student project, normalized to 100, is worth 5% of the final grade.
The final grade, based upon the above composite and subject to class participation and other considerations, will be:
A 93-100
A- 90-92
B+ 87-89
B 83-86
B- 80-82
C+ 77-79
C 73-76
C- 70-72
F Below 70
I Incomplete
W Withdrawal
Student Research Project Requirement:
Each student is required to undertake one of the topics and submit a research report by the beginning of the 7th class. All written reports must be submitted at that time (or earlier if desired). At that time all students will also be prepared to render a presentation. Presentations will be given during the balance of the semester at the professor's discretion based upon available time. If students wish, they can volunteer to render their report and presentation prior to the 7th lecture.
Student Research Project Report:
The report shall be a formal report, seven to fifteen pages of text plus as required charts, schedules and attachments. The report should include the following sections:
I) Topic Addressed by the Report
II) Executive Overview of Findings & Conclusions
III) Work Performed and Approximate Number of Hours Invested.
IV) Detailed Findings
V) Appendix of Charts, Illustrations, References, etc.
A hard copy and a soft copy of the report shall be provided to the professor. The soft copy will be e-mailed to the professor.
Student Research Project Presentation:
The presentation shall span 15-25 minutes plus a 5-10 minute question and answer period. The purpose of the presentation, to the class, will be to share the findings of the research with the class. Visual aids are recommended, and the class transparency projector can be used.
Student Research Project Grading:
The class shall evaluate the presentation on the basis of: Clarity, Completeness; Correctness; Organization; Effectiveness of Presentation. The written report shall be evaluated similarly by the professor. The project grade will be a blend of the professor's evaluation of the report and the class's evaluation of the presentation.
Available Topics:
Students will select (or be assigned) ONE topic from the following list. No two students may form a group and research the same topic, unless noted otherwise or approved by the professor. Topic selection must be approved by the professor.
1) VB.Net versus C# versus Java comparisons, when/why to use either or any of them.
2) Overview, description, assessment and when or why to use Borland development products.
3) Comparison of the CORBA versus the .Net environment, description/when/how/why to use either of them.
4) Comparison of available C/C++ program code generators, also when/why to use them.
5) Comparison of available Java program code generators, also when/why to use them.
6) Overview, description, assessment and when or why to use BEA products.
7) Overview, description, assessment and when or why to use Ariba products.
8) Overview, description, assessment and when or why to use Click Commerce products.
9) Overview, description, assessment and when or why to use Documentum products.
10) Overview, description, assessment and when or why to use E.Piphanyproducts.
11) Overview, description, assessment and when or why to use I2Technologies products.
12) Overview, description, assessment and when or why to use Kana Software products.
13) Overview, description, assessment and when or why to use Peregrine products.
14) Overview, description, assessment and when or why to use Silver Stream products.
15) Overview, description, assessment and when or why to use Teletech products.
16) Overview, description, assessment and when or why to use Vignette products.
17) Overview, description, assessment and when or why to use Webmethods products.
18) Overview, description, assessment and when or why to use IBM Websphere products.
19) Comparison of two software CASE tools.
20) Comparison of two software automated testing tools.
21) Comparison of two web content management tools.
22) Comparison of two software management tools
23) Comparison of two project management tools
24) Comparison of relational DB: DB2 versus Oracle versus SQL Server versus Sybase. (can be a two person project)
25) Comparison of OO DB: Objectivity versus ObjectStore versus Versant versus Jasmine (can be a two person project)
26) Overview, description, and example of software development estimating methods and metrics.
27) Overview, description, capacity, performance, scalability, costs of the IBM server line
28) Overview, description, capacity, performance, scalability, costs of the SUN server line
29) Overview, description, capacity, performance, scalability, costs of the COMPAQ server line
30) Overview, description, capacity, performance, scalability, costs of the HP server line
31) Overview, description, capacity, performance, scalability, costs of the DELL server line
32) Overview of the Capability Maturity Model (CMM) and applicable ISO standards.
Reports on the above should follow the general format outlined earlier and will vary based upon the topic selected. Topics which refer to software capabilities or comparisons should address the following matters:
- Product name, Company name, address, phone number, contact name for added info
- Web site URL
- Current version name and release date; Expected next versions number and release date, Date first released and release number
- Web or ASP availability of the product or service
- Free demo availability
- Key functions descriptions or comparisons
- As applicable, description of the major inputs & outputs & security aspects
- Lowest entry level price; Price range or scheme.
- Maintenance agreement costs & coverage.
- Number of users worldwide, number of install worldwide, user group contact
- Hardware requirements (minimum/maximum); Software requirements (OS, network, etc.)
- Implementation effort requirement (range of personnel effort, range of costs, elapsed time)
- Target customer profile (size of business, type of industry, etc.)
- If applicable, customizable or not; parameter driven (configurable) or not
- Third Party evaluation or feedback comments or other information on it or the vendor
- Overall assessment: who should buy it, what makes it unique
Lesson Plan Synopsis (preliminary & tentative, subject to revision):
Texts:
T1) Systems Analysis & Design, An Object-Oriented Approach With UML, by: Dennis, Wxiom, Tegarden, John Wiley & Son, 2002, ISBN: 0-471-41387-9
T2) Modern Systems Analysis & Design, 3e by Hoffer, George, Valacich, Prentice
Hall, 2002, ISBN: 0-13-033990-3.
T3) Using UML, Software Engineering With Object Components (updated edition), Perdita Stevens, Addison Wesley, 2000 (Also doubles as a UML reference book)
R1) Designing Software For Distributed Systems, by John Porter, Chapter 5 Reprint, obtained from BEI School of Engineering |
|