Unformatted text preview:

Appendix A – Analysis of Software Development MethodsFoundations of a New ParadigmAppendix BExample Project for CS371S – Fall 2008Reservation System for Avis Rent a CarCourse Outline CS371S Unique Number 55740 MWF 1200 to 100p BEN 1.104 Object-oriented Software Development (Actually – Model Driven Software Development) http://www.cs.utexas.edu/~browne/cs371sf2008 J.C. Browne and W. Cook Fall 2008 Course Approach and Goal This course will introduce an approach to software system development where an executable program is derived directly from an executable specification called a model. Models describe systems at the level of design, rather than implementation. This development process, for which the name “Model Driven Development” or “Model Driven Architecture” has recently emerged, is a major innovation in software development. The software system is developed in an executable modeling language, and the code in a lower-level language (C, C++ or Java) is compiled from the executable design. No “code” is written except for a reusable software architecture. A modeling language gets its power by focusing on a particular aspect of a system or domain of application. There are many tools supporting model-driven development. This course will examine a variety of different tools. The first part of the class will focus on Executable UML (xUML). One of the challenges in model-driven development is combining multiple models to describe complete systems. Model driven development moves software development away from programming into design and creation of intellectual property. The instructor has had numerous students who have taken the course in the past report that having mastered this material was a significant plus in applications for positions in information technology organizations. Model driven development transforms software development from a commodity skill to a professional skill. The steps in the model driven development cycle are: a) The system is defined as an executable specification, or model, in a modeling language. As an example, executable specifications can be written in an executable version of UML. b) The program is validated and verified at the model level. c) A strategy and execution architecture for implementing the models is defined, for example as a set of class templates in an object-oriented programming system. d) The executable system is realized by interpreting or compiling the validated analysis model into the software execution architecture.This method of software development is now being used for high-reliability long-lived systems by leading embedded systems vendors such as Motorola, Xerox and Kodak, Ford and others in the automotive industry. Web Background Material A summary of the philosophy of model driven development can be found on this web site. http://www-106.ibm.com/developerworks/rational/library/3100.html Course Materials The course materials include a textbook and some supplementary materials including papers and software system manuals. There are several texts which we have used in the past. You are not required to buy a textbook, since all the content will be covered in the lecture notes. However, the schedule below lists the corresponding chapters from these texts. We suggest that you look at these books and pick one for use during the class. • Executable UML: A Foundation for Model-Driven Architecture by S.J. Mellor and M.J. Balcer • Model Driven Architecture with Executable UML by C. Raistrick, et.al. • Object-Oriented Technology: From Diagram to Code with Visual Paradigm for UML by Tsang, Lau and Leung The lecture notes will be distributed for the first few weeks and will then be available over the web. Tools and Development Environments There are now many commercial and open source development environments for MDA and UML, and also tools for creating modeling languages. • UML o Objectbench from Hyperformix o Bridgepoint from Mentor Graphics o iUML from Kennedy-Carter o Poisedon from Gentleware o MagicDraw, available from Bevoware o Visual Paradigm o Rational Rose Eclipse plugin • User Interfaces o XML User Interfaces Language (XUL) used by Firefox o WebDSL for web page design • Tools for creating modeling languages o Eclipse Model Driven Development integration project (MDDi) o MetaCase o Stratego/XT o Microsoft Domain-Specific Language Tools One or more of these tools will be used to demonstrate practical applications of model-driven development. They can also be used in projects.Work Statement This is essentially a laboratory class. The lectures will cover the xUML and the executable specification based development method in detail and other methods as alternatives. The main goal of the course will be to carry through a complete development of a small software system using object-oriented development methods. There will be one class examinations but no final examination. The examinations are open-book and open-notes. The course grade will be two thirds on the project and one third on the examination. Use will be made of commercial software tools which are used in industry. Project Specifications Project Structure - The project will be development of a small software system through the executable specification development methodology. The projects will be executed by small teams of co-workers. The instructors have a set of possible projects. Each team will do a different project. A team can suggest a project of their own definition by preparing a requirements specification and getting it approved. The scale and scope should be similar to the requirements circulated in class. Communication between Students and Instructor The instructors are email oriented. They answer email almost every morning. This is by far the best way to communicate. Formulate your questions in writing and send them to [email protected] or [email protected]. Announcements concerning the class will be sent by email. Read your mail every day. Standards for Conduct Standard University of Texas rules for conduct of classes will be followed. Please make yourself familiar with those rules. Lecture Schedule CS371S –Fall 2006 There follows an approximate schedule of lectures for the fall semester. There may be minor variations if some topics take more time than anticipated and/or some additional guest lecturers of interest become available. Lecture Date Lecture Topic Reference Material


View Full Document

UT CS 371S - Study Notes

Download Study Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Study Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Study Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?