RUP defines components as cohesive groups of code, in source or executable form, with well-defined interfaces and behavior that provide strong encapsulation of their contents, and are, therefore, replaceable. Architectures based around components tend to reduce the effective size and complexity of the solution, and so are more robust and resilient.
Significance for NIH eRA:
Architectural focus (presented in initial CDR)
Component based development through J2EE
Supports greater level of reuse across all NIH eRA systems
RUP defines Visual Modeling as the use of semantically rich, graphical and textual design notations to capture software designs. A notation, such as UML, allows the level of abstraction to be raised, while maintaining rigorous syntax and semantics.
RUP definition: Controlling changes is more than just check-in and check-out of files. It includes management of workspaces, parallel development, integration, as well as builds.
Significance for NIH eRA:
Requirements change tracking
Standardized directory structures for all artifacts
New tools being used to automate integration and build processes
specifies the behavior of a system or a part of a system by documenting the sequences of actions that the system performs to achieve an observable result of value to an actor (a human, system, or device that interacts with the use case).
instead of a bulleted list of requirements, use cases organize them in a way that tells a story of how someone may use the system.
provides for greater completeness and consistency, and a better understanding of the importance of a requirement from a user perspective.
NIH eRA applicability:
Use cases are the bridge between the customer and the development team. The primary goal of the use case is to provide a concise description of the detailed requirements that is understandable by the (possibly non-technical) customer and also supports the design and development activities executed by the development team.