6
Software Development RCOS - Spring 2012 Rensselaer Polytechnic Institute David Goldschmidt, Ph.D.

Rensselaer Polytechnic Institute David Goldschmidt, Ph.D

Embed Size (px)

Citation preview

Page 1: Rensselaer Polytechnic Institute David Goldschmidt, Ph.D

Software DevelopmentRCOS - Spring 2012

Rensselaer Polytechnic InstituteDavid Goldschmidt, Ph.D.

Page 2: Rensselaer Polytechnic Institute David Goldschmidt, Ph.D

Successful software development

Software is usually a team effortrequiring coordination amongstteam members

Document your project goals, userrequirements, timelines, milestones,task lists, test cases via a blog, wiki, Google docs, Briefcase,

etc.

Page 3: Rensselaer Polytechnic Institute David Goldschmidt, Ph.D

Successful software development

Good (and up-to-date!) documentation is crucial to the success of a project however, too much documentation is

not good!

Version control provides benefits to both teams and one-person projects one-person projects often become team

projects

Page 4: Rensselaer Polytechnic Institute David Goldschmidt, Ph.D

Successful software development

Identify and document coding standards for: Coding/indentation style Naming conventions Commenting styles (e.g. comment headers) Safe approaches to programming See http://www.gnu.org/prep/standards

Code reviews are invaluable for improving the quality of your software

Page 5: Rensselaer Polytechnic Institute David Goldschmidt, Ph.D

Large-scale software development

As software systems grow in terms of usage, scope, scale, user-base, reliance, etc., they must be maintained

Important aspects of quality software: Maintainability Maintained! Usability (testing) Extensibility

Reusability Consistency Reliability Generalization

(design)

Page 6: Rensselaer Polytechnic Institute David Goldschmidt, Ph.D

Where to find projects

http://www.cs.rpi.edu/research/groups.html