Monday, January 22, 2007
Design Books
Wednesday, January 17, 2007
Assignment 1: Concept Paragraph
Your first assignment is a concept paragraph, or executive summary, of a software project that you might like to do for this class. Your concept should be no more than one page typed, but it need not be a single paragraph. You should avoid going too deep into technical details. Focus on the key aspects of the project; who will use it, why is it needed, how does it work, how much effort is required to finish it. This paragraph will become an abstract for a full project proposal in the coming weeks.
Kevin DeVries of Vertical Power has an excellent project involving embedded system programming that is available for this class. Below is an example concept paragraph provided by him.
Vertical Power is developing a power management system for small experimental aircraft. One of the subsystems, the Large Switch Panel, is used by the pilot to control the power settings of the different avionics and electrical components of the aircraft. A small 16x1 character display is used to provide feedback and allow setup of the management system.
The project scope includes the User Interface Specification and development of the specification on actual hardware. The interface must be usable and intuitive, despite the limited resources of the panel (a dozen switches and a push-button). Although the primary focus is application-level software, the students will become familiar with the Atmel family of micro-processors and the issues that surround real-time software.
The students will be rquired to implement all stages of software development, including requirements, design, development, and test. Any student involved with the project will have the opportunity to test the system during ground and flight tests.
Welcome to Software Engineering
Thursday, November 30, 2006
Final Presentations Dec 12
- Desribe what the project is.
- Demonstrate the application.
- Discuss the level of completion.
- Discuss the group's working process, what worked and didn't work.
Saturday, October 28, 2006
Best of the web roundup
Thursday, October 26, 2006
Object Oriented Programming in C
Thursday, October 19, 2006
Code Style and Conventions
- Predictability Can members of your group identify semantic features of the code at a glance. You should avoid bad variable names (a, f(), etc), instead use nouns for variables and verbs for functions (m_date, up_vector, computeLocalTime()). Use names to indicate member variables "m_date". If you are using set/get style for member variables, use those names "setTime(), getTime()"; make sure you have symmetry in your names too.
- Readability Can you read the code and tell what it does. The pinnacle of readable code is Literate Programming, which intertwines documentation and source. You can move toward this without a special programming environment by enforcing good names, liberal use of space, and frequent English comments to lead the eye through the code.
Since many of you are using a web interface, be sure to have conventions for your HTML and style sheets, even if they are automatically generated.
Standard Java conventions.
Details on Naming Conventions.
An example style guide for Mozilla code practice. Note, this style assumes "C" code. Here is a more java friendly style guide called "Turbine".
An example of a code style enforcer for visual studio.
Tuesday, October 17, 2006
System Design Document (SDD)
Monday, October 02, 2006
Requirements Recap
Because the quality of any product depends on the quality of the raw materials fed into it, poor requirements cannot lead to excellent software.
