CSC 4700 Software Engineering
Spring 2008 Recap
This was a challenging and fun semester, but what did we learn?
- We got a feel for how to engineer a Google Gadget
- We know what Software Engineering means
- We heard about the range of careers in Software Engineering
- We formed opinions about the "No Silver Bullet" article
- We went through the product brainstorming process
- We learned about Agile Development
- We learned about the Waterfall and Evolutionary models
- We learned about the commonalities of software process models
- We heard first hand from software engineers at a large company
- We heard first hand from a software engineer from a small company
- We learned about project planning and management
- We learned how to use project management software, such as Open
Workbench
- We learned about UML and how to use UML design tools, such as ArgoUML
- We created a project proposal which included a budget justification and
schedule
- We learned the importance of clear communication while crafting a
specification of a peanut butter and jelly sandwich
- We squeezed a massive amount of software engineering terminology and
ideas into our brains for the midterm exam
- We learned about writing a software specification
- We learned about open source and free software, and the distinction
between the two
- We know how Richard Stallman is (GNU project, "why open source misses
the point")
- We saw a variety of example specifications from simple to extensive
- We learned in detail about the IEEE standard specification template and
used it
- We created a typical software project web site and maintained it
- We prepared a first draft specification for a software product
- We prepared a final specification of a software product
- We formally presented the software product in class
- We learned about good and bad user interface design, viewing many
examples
- We learned about refactoring
- We learned to install and use Eclipse, and performed refactoring
hands-on
- We learned about test driven development
- We learned about using JUNIT and Eclipse for test driven development
- We downloaded, installed and used CVS software (jCVS), and learned about
managing source code
- We discussed Guerilla code development
- We learned about installers and configuration management
- We performed peer evaluations of other team projects and our own team
members
- We performed a project post mortem of our own team project efforts
- We rickrolled (sometimes to excess)
05/02/2008