A Solution Development Methodology

This appendix describes solution development methodologies.

Working with Project Phases and Tasks

This section describes project phases and associated tasks that you can use during operations support systems (OSS) solution development. These example phases and tasks focus on service fulfillment scenarios.

This list is not intended to be prescriptive; it is provided as one part of a best practice approach to solution methodology.

  1. Inception and requirements analysis

    See "Inception and Requirements Analysis Phase" for more information.

  2. Functional design

    See "Functional Design Phase" for more information.

  3. Construction

    See "Construction Phase" for more information.

  4. System test

    See "System Test Phase" for more information.

  5. Deployment and maintenance

    See "Deployment and Maintenance Phase" for more information.

Inception and Requirements Analysis Phase

During the inception phase, you define the goals of the project.

During requirements analysis phase, you:

  • Identify the types of service to be fulfilled and the actions that can be ordered for those services.

  • Identify the types of resources (for example, devices) in the network (and for suppliers and partners) on which services will be provisioned.

  • Describe the business processes for realizing those service actions in the network.

  • Describe the business policies (life cycle, capacity, allocation) for managing services and the resources that support those services.

  • Identify any application integrations (beyond what is supported by the service provisioning reference implementation).

  • Define the scope of the project with respect to the requirements identified.

  • Develop a work breakdown structure and task dependencies for the chosen scope.

  • Estimate the effort required to perform the work.

  • Develop a schedule based on the work breakdown, effort, and development resource assignments.

Functional Design Phase

During the functional design phase, you:

  • Model services and actions.

  • Describe the behavior of realizing service actions in the network.

  • Model service configurations and resources to support the realization of service actions in the network.

  • Describe auto-design behavior for service actions to design the necessary service configurations and assign the necessary resources.

  • Describe interfaces and protocols for application integration (beyond what is supported by the service provisioning reference implementation).

Note:

Proving at-risk aspects of the solution architecture can require that you perform some tasks in the functional design phase and construction phase concurrently, enabling the team to clarify requirements and evaluate design alternatives.

Construction Phase

During the construction phase, you:

  • Test the technical design, code, and integration. Additionally, perform unit tests and test all components that implement the solution.

  • Develop documentation such as user guides, administration guides, and online help.

  • Develop data migration plan and scripts.

System Test Phase

During the system test phase, you:

  • Develop automated tests and manual test procedures with coverage of the functional requirements (end-to-end scenarios).

  • Develop automated tests for non-functional requirements (performance, scalability, availability, and maintainability).

  • Set up the test environment with hardware, platform components, and applications.

  • Deploy solution components to test environment.

  • Execute tests, report bugs, and fix bugs.

  • Test data migration.

Note:

Complete test development in conjunction with the construction phase. Test development includes the development of tools or scripts for generating data, including installed base of subscribers, services, and resources, for example.

Deployment and Maintenance Phase

During deployment and maintenance phase, you:

  • Evaluate hardware sizing and procure hardware and software platform components.

  • Set up the production environment with hardware, platform components, and applications.

  • Deploy solution components to the production environment.

  • Migrate data from the legacy environment.

  • Train users and administrators.

Working with Document Artifacts

Table A-1 lists an example set of document artifacts that your team can create and share among stakeholders during solution development. This list is not intended to be prescriptive; it is provided as one part of a best practice approach to solution methodology.

Table A-1 Example Document Artifacts

Document Use

Requirements

  • Defines the functional or business requirements the OSS system should meet.

  • Documents the requirements analysis phase conclusions.

Functional Specifications

  • Documents the services and actions to be supported.

  • Documents the use case for each service action and the flow through each application component; for example, through Oracle Communications Order and Service Management (OSM), Oracle Communications Unified Inventory Management (UIM), Oracle Communications Network Integrity, and Oracle Communications ASAP.

  • Documents the function that each application component should perform internally for each service action.

  • Documents any application extensions and business logic to be implemented.

Integration Specifications

  • Documents the integration architecture.

  • Documents each interface (for example, UIM to OSM and OSM to ASAP), the integration technology used, and the interface protocols.

Technical Design

  • Documents the list of cartridges to be developed or extended, and all the cartridge dependencies.

  • Identifies all major Oracle Communications Design Studio entities, including UIM rulesets, OSM XQueries, ASAP CSDLs and ASDLs, and so forth.

  • Identifies all major Java classes and methods to be implemented to extend the solution.

Note: You can create one technical design document for each application component.

Test Strategy

  • Describes the testing methods to be used during solution development, such as unit testing, integration testing, and performance testing.

  • Describes the methods for testing environments, tools, and hardware.

  • Documents test metrics and measures to be used.

Test Cases

  • Describes the test cases for each test type (for example, for unit testing and integration testing).

Technical Architecture

  • Documents the technical architecture of the system implemented.

  • Documents the implemented integration architecture, including JMS resources.

  • Documents the environment specifications, such as hardware, operating system, and database specifications.

  • Lists all application components that require backup, such as WebLogic domains, database schemas, and application home directories.

User Guides, Administration Guides, and Online Help

  • Describe the documentation to support the solution.