Software Engineering
- CSCE 492: Software engineering lab.
1 Software Engineering
- What is software engineering?
1.1 Compare
- Build yourself a bird house
- Build a ten story building.
1.2 Compare
- Add another electrical outlet to your room.
- Provide all electrical needs for the Coliseum
1.3 Compare
- Use dry ice to smoke for a Halloween party.
- Produce 5 tons per month of corn syrup.
1.4 Compare
- Calculate the biggest number in a file.
- Firefox.
2 Overview
- One large software project.
- Teams of 4-5 students.
- No lecture: apprenticeship model.
- Weekly group meetings in my office.
3 Grading
3.1 Interview Questions
- Write a program that reverses a linked list.
- See more examples [2].
3.2 Main Steps
- Proposal presentation: handwavy.
- Mockup.
- Detailed requirements.
- Design.
- Test Plan.
- Proof of concept demo.
- Final project.
- Demo
- Writeup: documentation, design, etc.
- Personal assessment.
4 Textbook
5 Project Requirements
- A significant software development project.
- Software must be functionally complex.
- All must contribute about the same.
- All must design, program, and test about the same.
5.1 Idea
- Bad idea: 3D game using 3D library.
- Better idea: 2D game with complex agent behavior, 3D mode scene [4]? board games, network games.
5.2 Idea
- Bad idea: Ajax 3-tier application, from scratch.
- Better idea: GWT [5], Visual Web Developer (ASP, C#), Google App Engine [6].
5.3 Inspiration
- Give back to the USC community. What bugs you?
- Try to solve a real problem.
- Modified or specialized version of a common
application.
- Mobile devices.
- Think big.
6 Code.Google
7 Other Resources
8 Questions?
URLs
- here, http://jmvidal.cse.sc.edu/csce492/fall08/info.html
- more examples, http://programmingquestions.blogspot.com/
- Other
books I recommend., http://www.librarything.com/catalog/jmvidal&tag=492
- mode scene, http://aigamedev.com/discussion/mod-scene-bots
- GWT, http://code.google.com/webtoolkit/
- Google App Engine, http://appengine.google.com
- code.google.com, http://code.google.com
- svn tutorials, http://delicious.com/jmvidal/svn
- Joel on
Software, http://www.joelonsoftware.com
- Coding Horror, http://www.codinghorror.com
- The Java
Posse, http://www.javaposse.com
- Software Engineering Radio, http://www.se-radio.net
- first day checklist, http://jmvidal.cse.sc.edu/csce492/fall08/firstday.html
This talk available at http://jmvidal.cse.sc.edu/talks/softwareengineering/
Copyright © 2009 José M. Vidal
.
All rights reserved.
11 August 2008, 01:38PM