Structured Systems Analysis and Design – Monsoon 2015 (ICS261)

 

 

Course Objectives

 

Instructor:

Dr. Y. Raghu Reddy 

B5-205, Vindhya Bldg

Email: raghu.reddy@iiit.ac.in

 

           

 

Lectures:

Monday and Thursday 2:00 pm -3: 25 pm (105 – Himalaya Bldg). Bring your pen/paper to the classroom. 

 

 

Books/Resources: 

 

 

 

 

 

 

 

 

 

 

Course Schedule (Tentative):

 

Week

Topics

Class
Activity/ Assignments/ Tutorial

Assignment/Project
Deliverables

Document Templates are given below

1 (Aug 3 – 9)

Syllabus/logistics;

Course Introduction

Intro to Software Engineering and SDLC;

Python Review/Tutorial;

Team mate preference Form (By 4th August);

Project Teams Formed (By 6th August);

Project Descriptions provided (By 6th August);  

Project Preferences; (By 8th August)

Project allocations made (By 9th August)

2 (Aug 10 - 16)

 

Process Models;

Project Management: Software Estimation;

Assignment 1 (posted on courses portal)

Project: Establish contact with project sponsor / mentor (By 10th August) – NO EXCUSES

3 (Aug 17 - 23)

Project Management: Scheduling and Tracking;

 

 

 

 

Assignment 1 (By 20th August) – Submission via Courses portal

Project Synopsis/Project Concept Document (By 23rd August);

Web frameworks;

Version Control;

 

 

 4 (Aug 24 - 30)

Requirements Gathering and Analysis;

 

Requirements Specification;

Assignment 2 (posted on courses portal)

Ruby on Rails Tutorial

Project Plan Document (By 30th August);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Grading distribution

 

¥    12 % : Mid-Sem Exam 1  

¥    12 % : Mid-Sem Exam 2

¥    16 % : Final - Comprehensive

¥    40 % : Team Project  (see Project section)

¥    20 % : Assignments/Class Activities/Participation

 

Traditional Grading:

>= 90.0 :                     A

>=85.0 and < 90.0 :    A-

>=80.0 and < 85.0 :    B

>=75.0 and < 80.0 :    B-

>=70.0 and < 75.0 :    C

>=65.0 and < 70.0 :    C-

>=60.0 and < 65.0 :    D

< 60.0 :                        F

 

Grades will be on an absolute scale. The cut-off may be lowered if the instructor deems it necessary.

 

 

Exams

Mid-sem exams are given on topics covered up to that point. A cumulative final exam is given during the finals week. Note that exam topics may cover class activities, assignments, project and text book reading - whether discussed in class or not.

 

 

Assignments/Class Activities

Impromptu in-class activities and take home assignments will be given throughout the semester to reinforce the material (not) taught in class. Some of these assignments/activities might be individual and some others might be team based.  Please note there will be no makeup activities.

 

Project

Team work

The focal point of the course is a 3.5 month long project executed by a team of 3-5 students. The goal of the project is to introduce and practice the fundamental software development life-cycle activities of planning, tracking, designing, implementing and delivering an actual software product. Teams will be formed by Week 1 and will remain together throughout the semester. The instructor and TAs will choose the teams. A sincere effort will be made to accommodate one team member of your preference. However, there is NO guarantee you will get a project or team member of your choice.

 

For most of the students this might be the first time you are developing a team project.  Working in teams will be challenging in various ways due to the short amount of time teams are able to meet in person. Teams have to decide on their meeting schedules and stick to it till the end of the semester. At times, the instructor may allocate some time during the class session for project teams to meet/work and clarify questions (if any). Hence, it is critical that you are present for all the classes as well as meetings.

 

Participating in the team project is perhaps the most valuable experience you will take away from this course. Far more projects fail as a result of poor collaboration and communication within project teams than they do for any technical shortcomings. Becoming an effective team member is a critical career skill and the one of the goals of this course is to gain some experience with effective (and non-effective) teaming practices. The expectation is that all will make an honest effort in participating in team activities to the best of their ability. Should non-constructive conflict arise, your instructor will expect the team to first make an effort to resolve issues internally. Beyond that your instructor will intercede as needed to help in resolving team issues. In extreme cases, if a particular student does not cooperate with, he/she may be ÒFIREDÓ from the team. In such cases the student will not have the opportunity to contribute to the project any more and will have to complete the project on his/her own.

 

Team work does not imply 80/20 rule. Everybody should contribute equally. The instructor will seek explicit Individual evaluations from team members at the end of every release. The studentÕs project grade may be increased/decreased by up to 50% depending on the individual evaluations and TA/faculty mentor evaluations. So make sure you actively contribute towards the success of this project.

 

Project Artifacts

Each team should have version control repository up by week 2 or week 3.  All project artifacts including Project Plan, Requirements Specification, Test Plan, Design document, etc. should be submitted through the repository. More details of version control repository and other artifact submission will be announced soonÉ

 

Project Releases

This project will be implemented using an iterative incremental process. Each team will produce two project releases – R1 during Week 12 (tentative) and R2 during Week 16 (tentative). The initial project plan should clearly specify the functionality being implemented in the two releases. The release plan should be approved by the mentor (project sponsor) and TA.  A release includes the current state of all project artifacts created till that point including executable source code. Each release is accompanied by an in-class team presentation and product demonstration.

 

Project Grading

Your instructor will grade your project using the following point distribution. The course schedule states the expected project deliverables. Project grades are assigned on a team basis with each member initially receiving the same grade. Your instructor will reserve the right to adjust individual grades up or down after each of the project releases based on team member peer evaluations and the instructorÕs observations.

 

Total Points Available - 250 

¥    Status reports & Other Project Deliverables (120 points total)

¥    Release 1 (55 points)

¥    Release 2 (75 points)

 

The assessments provided by each mentor will be taken into consideration for each of these components. So make sure you satisfy your client (faculty mentor) requirements!!!

 

Policies & Miscellaneous Items

 

1.     We have approximately 27 scheduled sessions. Missing one/two sessions can make a significant difference. Most sessions may have some activities (some graded/ some not graded). Attendance is mandatory. Grades will lowered as per the university policies if attendance requirement isnÕt met. Additionally, you will also miss credit for activities that took place during the classes you were absent. Bottom line:  Come to class.

 

2.     No make up exams/assignments/activities will be given. Exceptions may be granted for extreme cases as per university policies.

 

3.     Be professional. Practice common courtesy when I or your fellow students are speaking.

 

a.     Avoid colloquial talk

b.     Do not distract other students with chitchats

c.     No cellphones/email/IM/Tweeting/browsing/game play or use the computers in any other unprofessional manner

 

4.     You are encouraged to actively interact with your fellow students in class. However, Plagiarism of any kind is a strict NO.  If the content is deemed as plagiarized/copied, the person who has copied the content will get a straight F for the course. 

                                                                                                                                                                                          

 

Other Resources:

 

         UML Tools:

1.    http://modeling-languages.com/uml-tools/

2.    http://www.sereferences.com/uml-tools.php

 

Design Patterns:

1.    http://st-www.cs.uiuc.edu/users/patterns/

2.    http://www.vincehuston.org/dp/

3.    http://www.cmcrossroads.com/bradapp/docs/patterns-intro.html