
College of
Computer Science
Course
Syllabus
CS 5500
Managing Software Development
2015 Fall Semester
Section 1: M, W 2:50 – 4:30pm, Ell Hall 312
Section 2: W 6-9pm, Dodge Hall 119
|
Instructor Name: |
Michael Weintraub |
|
E-mail: |
|
|
Office
Hours: |
M 1-2, 5-6, T 2-4, W: 1-2:30pm, and by appointment |
|
Teaching Assistants |
|
|
Buddhadev Veeramallu |
|
|
Bharath Doddadunnasandra Narayana Reddy |
|
|
|
Pruthvi Kumar Reddy Challa
|
Text(s)/Software/Tools:
Other books:
·
Marsic,
Ivan. (2012). Software Engineering.
·
Bourque,
Pierre and Richard E. Fairley (eds). (2014). Guide to the Software Engineering Body of Knowledge.
·
Pressman,
Roger. (2005). Software Engineering: A
Practitioner’s Approach.
·
Gamma,
Helm, Johnson, Vlissides (1995). Design
Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley,
Reading MA.
·
Felleisen,
Findler, Flatt, Krishnamurthi. (2001). How to Design Programs (Links to an external site.),
MIT Press, Cambridge MA.
·
Schedlbauer,
Martin, (2010) Building Information
Systems, The Art of Business Analysis
and System Design
Course Prerequisites
(a)
CS 5010
(b)
Admission to MS program or completion of all transition courses; restricted to
students in the College of Computer and Information Science.
Course Description
Covers software life cycle models
(waterfall, spiral, and so forth), domain engineering methods, requirements
analysis methods (including formal specifications), software design principles
and methods, verification and testing methods, resource and schedule estimation
for individual software engineers, component-based software development methods
and architecture, and languages for describing software processes. Includes a
project where some of the software engineering methods (from domain modeling to
testing) are applied in an example.
Visual Syllabus
If a picture says a thousand words,
here’s a graphical version of what the syllabus text says.

Course Outcomes
You will have the opportunity to
increase their understanding for what it takes to deliver successful software
systems working in small teams and to develop appropriate knowledge and
skills. That is, you will have the
opportunity to learn and apply knowledge and skills about:
Course Methodology
The course
involves a combination of lectures, discussion, and hands on activity. You may do reviews of other student’s
designs, documents, or code. Your
participation and contributions are important.
Each week, you will be expected to:
All work will
be turned in using Blackboard.
The hands-on elements
are intended to simulate real-life experience.
There will be individual assignments and assignments given to
teams. Key is the project. You will be part of a ~4 person project team,
and will work on a specified project using agile sprints. The team may, with permission of the
instructor, opt for a different development process model. Teams may choose to form alliances. Each side of the alliance should be
considered a distinct entity. As such, deliverables
must be documented and acceptance plans defined. You are reminded that failures by alliance partners may
add risk to your own successful completion of the project.
You
will have the opportunity to demonstrate your knowledge of the materials discussed
in the lecture or discussions through a number of tests.
Sometimes, you may need extra help with something. Please use the following escalation
procedure for finding an answer or getting help:
The TA’s
will be checking the discussion boards daily and providing answers. We will endeavor to post answers by the end
of the next business day, if not sooner.
However, you are encouraged to post (and critique) answers as well. The first posted answer that resolves a
question will get a gold star. Gold stars count toward the class
participation grade. Gold stars may be awarded for
exceptional insights or alternate answers as well.
Grading/Evaluation Standards
Late
Work Policy
All work
products you or your teams will produce are due as specified on the
assignment. You must make every effort
to turn your work in by the deadline (early work is always appreciated).
There can
be a question as to what due as specified
actually means. Here are the
definitions.
If there is a time and day given, then that’s when
the assignment must be submitted via blackboard. For example, if your assignment is due by
start of the next class, then the blackboard timestamp must be ClassStartTime
less one second. Or if the assignment is
due by 3pm on Friday, then 2:59:59PM on that Friday is the latest blackboard
timestamp you can have.
Blackboard is the gold standard on time. No submitting work California, Indiana
Eastern, Hawaiian, or any other place west of the Northeastern Boston campus
current time zone.
However, if no time is given on the due date, the
material must be submitted on day the assignment is due. Since we are trying to simulate the real world, no time defined means before the start
of the following business day. For
example, if an assignment is due on Monday, your blackboard submitted timestamp
must be before 8AM on Tuesday. Unless
there is a time crunch, no boss would look at your work at night. Otherwise, she would have told you to send
whatever you have that evening, by 9, or something like that.
Sometimes
life gets in the way of schedules.
Sickness or other unplanned or
extraordinary events happen and we
will deal with these cases individually.
It is your responsibility to insure your situation is known to the
professor as soon as reasonably possible.
Use your TA’s to advocate for you.
However, there are two important caveats you must understand. First, you need to insure that somebody –
myself or a TA – hears you. Just sending
something does not mean we got it. You
are accountable for being heard. Again,
use your TA’s to advocate. Second, you
need to insure that we – me or a TA – heard you. GET A RECEIPT or a written acknowledgement.
No
extensions are locked until an extension is given to you in blackboard.
While
“life happens,” poor planning by you
does not count. And definitely do not
wait to discuss gray areas. For example,
an interview opportunity arises (good!).
You should not wait until the day before the assignment is due to let us
know that you could not complete the assignment because you had to travel. That would be considered poor planning. Good planning
would be to alert the TA or professor that you got the interview and, while you
hope to finish the assignment, there is a concern. Then when you don’t finish on time, it’s
clear that you planned your time and that will be taken into
consideration. These “good planning” situations
will be considered individually.
Late
work will be docked 20% per day for a maximum of 50%. So it still pays to turn in your work.
Disability
If you have a disability-related need for reasonable academic
accommodations in this course and have not yet met with a Disability
Specialist, please visit www.northeastern.edu/drc and follow the outlined
procedure to request services.
After the Disability Resource Center has approved you for an academic
accommodation in this class, please present your “Professor Notification
Letter” to the instructor, ideally during the first week of the semester, so
that we can address your specific needs and set up appropriate accomodations as
early as possible.
Class Schedule / Topical Outline
|
Week |
Topic |
Assignments (Subject to Change) |
|
Sept 9 |
Syllabus Overview Introduction |
|
|
Sept 14-16 |
The Software Development Lifecycle Feasibility Analysis |
Read text
Ch. 2, 3 Read Agile
manifesto and principles Create a feasibility study for assigned
problem |
|
Sept 21-23 |
Requirements Voice Of The User Use cases Req. models |
Read text
Ch. 4 Learn
Atlassian Confluence and its requirements blueprint UML for story
visualization Create an
initial SRS in confluence Optional: Guest speaker on Feasibility,
Tuesday, 6pm (room TBD) |
|
Sept 28-30 |
Architecture And Design Principals Of Architecture, Abstraction
Barriers, Service Oriented Architectures Component Oriented Design- |
Read text
Ch. 5,6,7, 15-20 SEI deck
on Trends and Directions in Architecture http://resources.sei.cmu.edu/asset_files/Webinar/2015_018_100_438676.pdf Learn UML
diagramming Optional:
Guest speaker on Testing, Tuesday, 6pm (room TBD) |
|
Oct 5-7 |
||
|
Oct 14 No School for Monday Section |
||
|
Oct 17-19 |
Testing Black/Glass Boxes Test-Driven Development Acceptance Test-Driven Development |
Read text
Ch. 8, 11 |
|
Oct 24-26 |
Tool Time |
Overview
of Jira, Git, Jenkins/Bamboo,
chef/puppet? Project Teams
Established Optional: Guest speaker on Development,
Tuesday, 6pm, Room TBD |
|
Nov 2-4 |
Sprint Planning |
Read
Mythical Man-Month |
|
Nov 9-11 No School for Wednesday Sections |
Sprint |
At the
start of each sprint, deliverables for the next week will be assigned. Because of the school off-days, we will
decide how to communicate these expectations.
|
|
Nov 16-18 |
Sprint |
|
|
Nov 23-25 No School for Wednesday Sections |
Sprint |
|
|
Nov 30-Dec
2 |
Finish Line |
Optional: Guest speaker on Operational Considerations,
Tuesday, 6pm, Room TBD |
|
Dec 7-9 |
Final Reflections And Review |
|
|
Dec 11-20 |
Final Exam (To Be Scheduled) |
|
Class Conduct
Please don’t be late. You are an essential part of the class. Your participation is an essential part of the class. If you are late, please be courteous to
others when entering.
BE PRESENT WHEN YOU ARE IN CLASS. Please do not distract from the class by
doing other activities such as phone calls, email, facebook, chat/IM/texting,
games, web surfing – unless it has a direct bearing on the course.
Attendance is expected. Sometimes you cannot avoid missing a
class. If you need to be away from
class, it is your responsibility to catch up on the materials discussed in the
class. Assignments will be collected via
blackboard, so there are very few acceptable excuses for late assignments. Please be proactive whenever possible in
alerting me or the TA’s when you find it impossible to turn work in on time.
Use of Third
Party Code and Materials
You
are encouraged to use resources from the Internet unless otherwise specified.
All materials used from other resources must be acknowledged and the
sources/author must be properly credited. Failure to do so shall be considered
plagiarism, which has severe repercussion to your grade and your academic
standing in the University. As a student in the University you are expected to
be familiar with and abide by Northeastern University rules of academic honesty
and integrity, including plagiarism.
Academic Integrity Policy
The University views academic dishonesty as one of
the most serious offenses that a student can commit while in college and
imposes appropriate punitive sanctions on violators. Here are some examples of
academic dishonesty. While this is not an all-inclusive list, we hope this will
help you to understand some of the things instructors look for. The following
is excerpted from the University’s policy on academic integrity; the complete
policy is available http://www.northeastern.edu/osccr/academic-integrity-policy/.
|
Cheating |
intentionally using or attempting to use unauthorized materials,
information or study aids in an academic exercise |
|
Fabrication |
intentional and unauthorized falsification, misrepresentation,
or invention of any data, or citation in an academic exercise |
|
Plagiarism |
intentionally representing the words, ideas, or
data of another as one’s own in any academic exercise without providing
proper citation |
|
Unauthorized collaboration |
instances when students submit individual
academic works that are substantially similar to one another; while several
students may have the same source material, the analysis, interpretation, and
reporting of the data must be each individual’s independent work. |
|
Participation in academically dishonest activities |
any action taken by a student with the intent of
gaining an unfair advantage |
|
Facilitating academic dishonesty |
intentionally or knowingly helping or attempting
to violate any provision of this policy |
End-of-Course Evaluation Surveys (TRACE)
Your
feedback regarding your educational experience in this class is very important
to the College of Computer Science. Your comments will make a difference in the
future planning and presentation of our curriculum.
TRACE (Teacher Rating and Course Evaluation) is a required part of every
course. Your participation is needed and encouraged, as it is one way to
enhance the quality of the course. Your voice matters!
At the end of this course, please take the time to
complete the evaluation survey at https://neu.evaluationkit.com. Your survey responses are completely anonymous and confidential. For this class, surveys will be open for two
weeks. An email will be sent to your HuskyMail account notifying you when
surveys are available.
Northeastern University Copyright Statement
Northeastern University is a registered trademark
of Northeastern University.
All other brand and product names are trademarks or registered trademarks of
their respective companies.
This course material is copyrighted and Northeastern University reserves all
rights. No part of this publication may be reproduced, transmitted,
transcribed, stored in a retrieval system, or translated into any language or
computer language, in any form or by any means, electronic, mechanical,
magnetic, optical, chemical, manual, or otherwise, without the express prior
written permission of Northeastern University.
Copyright 2015 ©
by Northeastern University
All Rights Reserved