Journal entry assignment three asks you to discuss your plan for getting code done and integrated into your system. Please discuss how you will approach the problem of fulfilling requirements and what process you will use. How will you keep on track and avoid procrastination? How will you motivate your teem to do the same. Please be specific about your strategy, and identify how you utilise or contradict the ideas from existing process frameworks (Agile or RUP for example).
... due Thurday Oct 5
Thursday, September 28, 2006
Wednesday, September 27, 2006
Systems Engineering Lecture from JPL
Friday Sept. 29, 10:00am, ME 218
Brian Muirhead, chief engineer at JPL, will be giving a lecture, "Take Risk, Don't Fail: The Art and Science of Systems Engineering." Please plan to attend, extra credit will be given if you submit a short summary of the talk.
--This talk will provide a unique overview and insight into the process of systems engineering and qualities of the engineers who practice it. Examples of specific problems taken from recent NASA/Jet Propulsion Lab missions including the Mars Exploration Rover, Deep Impact and Mars Pathfinder will illustrate different approaches and skills needed to identify, assess, resolve, and validate solutions to complex, multi-disciplinary problems. This talk will emphasize the inherent "fuzziness" of systems engineering problems and the roles and characteristics of the teams who must solve them.
Brian Muirhead, chief engineer at JPL, will be giving a lecture, "Take Risk, Don't Fail: The Art and Science of Systems Engineering." Please plan to attend, extra credit will be given if you submit a short summary of the talk.
--This talk will provide a unique overview and insight into the process of systems engineering and qualities of the engineers who practice it. Examples of specific problems taken from recent NASA/Jet Propulsion Lab missions including the Mars Exploration Rover, Deep Impact and Mars Pathfinder will illustrate different approaches and skills needed to identify, assess, resolve, and validate solutions to complex, multi-disciplinary problems. This talk will emphasize the inherent "fuzziness" of systems engineering problems and the roles and characteristics of the teams who must solve them.
Tuesday, September 26, 2006
Alternatives to the "Waterfall process"
The waterfall process is the traditional view of software engineering, where the stages of development proceed sequentially. In recent years, a number of alternative methods have been formalized and studied. Of these IBM's "RUP" (Rational Unified Process) and Agile XP ( Extreme Programming) methods stand out. Both of these methods emphasize the importance of communication and iteration. In general, RUP is best suited to larger groups or sparse teams, i.e. best for groups that can't always work closely together. Agile methods emphasise tight group collaboration, this is especially true for extreme programing approaches. These alternative methods offer important strategies for accomplishing complex system developments with tight time constraints.
Here is a link to a more descriptive coverage of Agile Software Development.
Here is a link to a more descriptive coverage of Agile Software Development.
Top Ad$ense earners
Wednesday, September 06, 2006
Assignment 3: Proposal Revision & Presentation
The next assignment involves revising and polishing your proposal. It will be due Tues 12 Sep. On this date you should also have a short, 7 minute presentation describing the project. This will be done in front of the class, and each presentation will be critiqued. There are some common issues with all of the proposals, be sure to address these in your revision:
Also, make sure that you have reasonable section headings, your cover sheet is only one page and contains your contact info, if you have an itemized budget be sure that it has a total at the bottom. You should go back through the assignment 1 description, and make sure you have addressed each of the topics. Your grade on this project will depend on the amount of improvement when compared to the draft you just submitted.
- Always have someone else read your proposal! Ask someone to give you feedback and explain your project to you. This will help you identify holes or unclear explanations.
- Avoid informal language, like "you" and "I". These can be directly substituted with "one" and "we". Imagine that the document speaks for you and your "company", rather than it being written by you.
- Background, background, background. Be sure to do your due diligence in finding competing work. It will be rare that you have truly novel idea, who else thought of it?
- Make strong points. Avoid weak or self deprecating comments. This document should convince me that you are the right person/team for the job.
- Avoid too much internal detail in system description. Your description should be detailed, but only with respect to system boundaries. Delving into specifics about its implementation will confuse the reader, and in many cases make the system seem fuzzier rather than more concrete. Focus on aspects of the description from an "outside" point of view.
Also, make sure that you have reasonable section headings, your cover sheet is only one page and contains your contact info, if you have an itemized budget be sure that it has a total at the bottom. You should go back through the assignment 1 description, and make sure you have addressed each of the topics. Your grade on this project will depend on the amount of improvement when compared to the draft you just submitted.
Monday, September 04, 2006
A Requirements Specification Template
The Volere Requirements Specification Template, available here , is a detailed breakdown of the requirements elicitation process. This document covers all of the categories you should consider when developing and negotiating the requirements for your project. While not all of the 26 categories will be immediately relevant to your work, this template can serve as a guide for evolving requirements during the lifetime of the software. Use this document in conjunction with chapters 4 and 12 in the book for the next phase of the project; negotiating requirements and deliverables.
Thursday, August 31, 2006
Free Security Engineering Book
Ross Anderson has just released his classic security book for free (as in beer). Have a look. Security is a seriously hot issue these days, and likely to continue into the foreseeable future. This is a whole other aspect of software engineering that is often overlooked.
UML Cheatsheet
Lou Franco has produced a nice, short UML Cheatsheet under the Creative Commons licence. Have a look and use it to keep your diagrams straight!
Journal Entry 2: Modeling and Rationale
Now that you are working on a more detailed proposal, I would like you to pick one aspect of your project and sketch a UML model of it. I want the journal entry to record how this model changed as you completed the sketch, and how it changed the proposal that you are writing. Refer to Chapter 12, Rationale, for some things to think about when discussing the changes that happened; what were the issues, alternatives, criteria, arguments, and decisions you made? Aspects of the project that you can model include, tasks (timeline), the user interface, the data model, etc. If this approach is helpful in the creation of your proposal, consider modeling multiple aspects; think about how these models interact.
Due Thursday Sept 7.
Due Thursday Sept 7.
Tuesday, August 29, 2006
Ajax Demystified
"Ajax, shorthand for Asynchronous JavaScript and XML, is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user makes a change. This is meant to increase the web page's interactivity, speed, and usability."
-from Wikipedia
Here is a nice article by Drew McLellan at xml.com about the design methodology. Article includes basic code examples!
-from Wikipedia
Here is a nice article by Drew McLellan at xml.com about the design methodology. Article includes basic code examples!
Subscribe to:
Posts (Atom)