Software Architecture

http://people.cs.uchicago.edu/~matei/CSPP523/lect4.ppt

tries to define rup
rup features
Deliverables at inception
Deliverables at elaboration phase
Vague on the other two phases
Tries to define a usecase
Outlines a usecase structure
Goes to the core via 
   Boundary, entity and control classes

Questions

1. Online rep of process information
Why?
2. Have templates for usecases, project
For use cases it is ok
Will they work with microsoft project?
3. Process manuals
Why?

http://www-306.ibm.com/software/rational/info/literature/lifecycle.jsp

Summary of docs at this site

  1. Unifying Systems and Software Teams: A Holistic Approach to Systems Development
  2. Development of Federal Enterprise Architecture Framework using the Rational Unified Process and the UML
  3. Conceptual, Logical, and Physical design of Persistent Data using UML
  4. Planning a Project with the Rational Unified Process
  5. The UML and Data Modeling
  6. Developing Large-Scale Systems with the Rational Unified Process
  7. Implementing RUP in an Organization - The Volvo IT Approach
  8. Developing Applications for the Web Service Era
  9. A Comparison of RUP and XP
  10. Architectural Blueprints - The "4+1" View Model of Software Architecture
  11. Using Service-Oriented Architecture and Component-Based Development to Build Web Service Applications
  12. Rational Unified Process: Best Practices for Software Development Teams
  13. Gambling with Success: Software Risk Management
  14. The Ten Essentials of RUP: The Essence of an Effective Development Process
  15. Introducing Web Services into the Software Development Lifecycle
  16. Using Rational Unified Process for Small Projects: Expanding Upon eXtreme Programming
  17. Unifying Development Teams with the UML
  18. The Estimation of Effort Based on Use Cases
  19. A Rational Development Process
  20. IBM Rational Team Unifying Platform: IBM Rational ProjectConsole Sample Measures
  21. IBM Rational Team Unifying Platform: Using IBM Rational ProjectConsole for Microsoft Project Reporting & Measurements
  22. Reaching CMM Levels 2 and 3 with the Rational Unified Process

A "pattern" in software refers to an approach, a method, a technique or a way to solve a software problem. Then why not call it one of those instead of calling it a pattern. When will a technique become a pattern? A "pattern" is a promotion of the above to a more formal level. First thing a pattern forces is to come up with a name. This name is intended to be fairly unique in the field so that it will uniquely identify the subject and its surrounding context. It is almost like you are submitting the "technique" to a library of techniques with a formalized name.

Like all names, a pattern's name should be as "specific" as possible. Invoking its name should bring the whole meaning and context of the pattern to surface. The name is not necessarily named after the patterns feature, usage, or implementation, or advantage. The only obligation of the name is that it should try to evoke this pattern as unequivocally as possible in a collection of similar features, usages, or implementations.

Name
Description
Context
Applicability
Structure
Interactions
Consequences
Implementation Strategies
Usage/Samplecode
Related technology
Description to be entered

From the literature it is very difficult for me to nail down what it is. It seems to be different things to different people and everything and the kitchen sink to some people. No two definitions seem to match. For some it is a documentation driven heavy weight way to manage a project from begining to end. For some it is a feather weight like XP, Extreeme Programming. For some it is requirements management. For some it is a web site with process documentation. For some it is UML and for some UML is optional.

Due to the wealth (or volume) of the information out there I will try to summarize and add my own confusion.

http://c2.com/cgi/wiki?RationalUnifiedProcess

RUP is a commericialized version of Unified Software Development process by Rational.

Description to be entered
Description to be entered