CIS490 Design in Software Engineering Course Syllabus for the Virtual Class 1. Opening Note This section of CS490 is offered via "WebCt", an online conferencing system. The material covered will be the same as in the face to face sections of CS 490. A substantial time investment into the course, on the order of 5-7 hours a week or more, must be expected (this includes reading the required text, viewing lectures, participating in the electronic conference discussions, and doing the homework and projects). Course notes can be viewed on my webpage: http://www.ccs.njit.edu/maura/. Discussions, weekly homework, and assignments will take place continuously in WebCT. You will be expected to sign on-line at least two times a week. It is my goal to give you as much information via this syllabus which I expect will remain unchanged. Should there be any need to make any modifications we will discuss so as a group and resolve. 2. Personnel Office: 3803 Guttenberg Information Technologies Center (GITC) Phone: 973-596-5764 Office Hours: online E-mail: maura.deek@njit.edu 3. Course Overview Title: Design in Software Engineering Credits: 3 Prerequisite: Senior standing or departmental approval Description: Focus is on the methodology for developing software systems. The course is of interdisciplinary nature that incorporates management, economics, marketing, software technology, engineering, E-commerce, human sciences and other disciplines in a unified framework of problem solving. The course tackles problems from a business prospective. Methods and techniques for functional requirements analysis and specifications, design, quality assurance, process technology are discussed. Students prepare a full documentation project, which includes its functional specifications and preliminary design. This project serves as a generic foundation for the final software product. Students who take CIS491 are supposed to use this documentation as a basis for the implementation phase. 1
Goals: The goals of this course is: To become familiar with the basic concepts of software engineering and the software development life cycle. To understand the theoretical and practical issues of software engineering principles, technology, and management important for developing large software systems. To be able to engage in the various phases of the software process, particularly applying the methodological techniques for software specification, design, implementation, testing, verification, and documentation. To be able to plan the different phases of a software development project, including the estimation of the level of effort required, and to track the progress of the project. To understand the important issues of working in teams on the different phases of software development project, from establishing software requirements, through specifying software design, to performing software construction. 4. Topics 1. Software Environment 2. Project Management Part 1 3. Project Management Part 2 4. Requirements Engineering 5. Process Modeling Part 1 6. Process Modeling Part 2 7. Logic Modeling 8. Data Modeling 9. Architectural Design 10. Software Design Quality 11. HCI and Interface Design 12. Object Oriented Analysis Part 1 13. Object oriented Analysis Part 2 5. Textbooks Modern Systems Analysis and Design by Jeffrey A. Hoffer, Joey F. George and Joseph S. Valacich, Fourth Edition, Addison Wesley ISBN: 0-13-145461-7 6. Assignments Viewing: The lecture part of this class can be viewed via powerpoint slides on my webpage. You must make sure that you see the corresponding lecture by MONDAY of the following week. 2
Reading: It is required that you read the textbook chapters in the above book after you view the corresponding lecture. Reading assignments will be posted on a weekly basis (also included below). Homework: Homework is of two kinds: a) Weekly participation. Conference comments about what you learned from each week's lesson (the lecture and the reading assignment). b) Software engineering project. Project milestones will be posted on the system (to be submitted electronically). 7. Examinations There will be a midterm and final exam given on the Newark campus. Exact date and time will be assigned through the Office of Distance Learning and will be communicated electronically in the course conference once available. 8. Grading Midterm 25 % Final 30 % Class participation: 20% Software Engineering project: 25 % 9. Late policies Due to the nature of this course, no late Interaction Homework will be accepted (unless you have a good reason, such as documented illness). For projects there will be late penalties for late submissions 10. Academic Integrity The work you do and submit is expected to be the result of your effort ONLY. You may discuss the high level (general) approach to solving of a problem. However, cooperation should not result in one or more students having possession of a copy of all or part of a project completed by another student (or group). The penalty for violating the University's code may include failure in the course and probation. 3
12. Computing Needs The following software packages may be used/utilized in this course: Microsoft Visio (Standard, professional or enterprise edition) Microsoft Project for windows (automate Gannt/Pert Chart generation) Microsoft Word - document preparation Microsoft Excel Spread sheet Microsoft PowerPoint - presentation software Windows 98 or Windows /Me/XP - operating systems Adobe Acrobat Reader 4.0/5.0 - used to read.pdf documents (available on the WWW) 13. Lecture Details The course will cover 1 lecture per week (topics can be found in text described above) in the following order CIS490: Guided Design in Software Engineering Date Topic Readings (3rd Edition) 1 st Week 1-Introduction to Course 2-Software Environment 2 ND Week Project Management (Part 1) Chapter 1 and 2 (Skim chapter 19) Chapter 3 and 4 4 th edition 1. The Systems Environment. 3- Managing the Information Systems Project. 4. Identifying and Selecting Systems Projects. 3 RD Week Project Management (Part 2) 4 th Week Requirements Engineering Chapter 5 and 6 Chapter 7 5. Initiating and Planning Projects. 6. Determining System 5 th Week Process Modeling (Part1) 6 th Week Process Modeling (Part2) Chapter 8 Chapter 8 4 7. Structuring System Process 7. Structuring System Process 7 th week Logic Modeling Chapter 9 8. Structuring System Logic
8 th Week Data Modeling Chapter 10 and 12 9. Structuring System Data 10. Designing Databases. 9 th Week Architectural Chapter 15 13. Finalizing Design Design Specifications. Software Design 14. Designing Quality Distributed and 10 th Week HCI and Interface Design 11 th / 12 th week Object Oriented Analysis Chapter 13 and 14 Chapter 20 Internet Systems. 11. Designing Forms and Reports. 12. Designing Interfaces and Dialogues. Appendix 3. Object- Oriented Analysis and Design. 5