Les explications seront données ici en anglais, la raison est simple j'ai écrit ces méthodes pour l'international. Désolé je traduirais d'ici quelques mois

ATTENTION : Même si vous pouvez voir ci dessous une construction linéaire des étapes, ce n'est pas le cas dans la réalité car les étapes d'élaboration sont récursives.
Contrairement à une erreur de présentation récente, il ne s'agit pas d'un cycle itératif mais semi itératif.


Modifier

Glossary

  • Process : All small steps that make a whole project
  • Best Practices : All methods that are already used with success, not really the best.
  • Delivery : Paper or program.
  • Milestone : Condition between two step, go/nogo.
  • NetIQ : It’s a control software who provide a board to control server and process.
  • SourceForge : Portal to control project life cycle, docs, versioning,

Modifier

Process

All project are split in several point of analysis.

1 Request (In french : Demand Application Development & Demand Application Modification)
2  First Analysis
3  Detail Analysis
4  Development
5 Quality assessment
6 Deployment

All step of a project should have an input and a delivery. Delivery is paper and programs.
All  milestones of a project are conditional (GO/NO GO).
Image

Steps


Modifier

Steps Description

Image

Steps


Modifier

Analysis

In this part we define the project  from all use cases defined by the product manager.
This is an iterate from
  • business modelling
  • requirements

Modifier

Inside step

  • identify all use cases
  • classify the uses cases into level of risk from highest to lowest
  • from uses cases, defined samples data


Modifier

Delivery

  • Architecture document
  • Business rules, business glossary, business specification
  • sample testing data


Modifier

Uses cases

Uses cases could be defined in this part in some sentences, uses cases should be clearly expressed and use as a base of communication between product manager and project manager.

Modifier

Technical point

  • uses cases should be modelling using UML (see annexe)

Modifier

Development

Modifier

Iterate through

  • analysis & design
  • implementation

Modifier

Inside step

  • Program all tests from use-cases (before component)
  • Create component
  • Test all uses cases
  • Validate all compilation version source & bin to CVS (versioning tools)
  • Use data samples to test separately all parts of application
All development are with the methodology of “Test-driven development”

Modifier

Delivery

  • Design classes & class diagrams.
  • Components diagram
  • Quality validation documents
  • Package and environment to test on quality

Modifier

Technical point

SourceForge is used to centralize all source code, version and life cycle of the project (see annexe).
http://devsf.libertysurf.net/

Modifier

Quality assessment

Modifier

Iterate through

  • Quality assessment
  • Feed back to development

Modifier

Delivery

  • Document with all errors and waiting result.
  • All step to reproduce errors

Modifier

Technical point

Quality assessment use
  • data samples
  • uses cases
  • blind tests

Modifier

Deployment

There are no iteration for this step.
Modifier

Delivery

  • Checking procedure
  • All documents to solve standard  errors

Modifier

Inside step

  • check
  • Test in pre-production
  • Prepare roll- back on all operations


Modifier

Technical point

  • Package software (ex :use sourceforge)
  • Distribute software (see package deployment)
  • Provide help and support to users (document for the Network Operationg Center)

Modifier

Part of RUP process

Modifier

Main idea


1] RUP is not  hard rules, you can use it to split your project in understanding part.
2] You don’t have any obligation to do all process for all projects.
3] You can use a FrameWork processing model (documents models)
4] All you write is for a good reason, not to respect the process
5] All you write should be understandable, comprehension is the first objective.

Modifier

Requirements

Requirements is the match of the end user’s needs and external dependencies, It includes following:

  • The correct requirements generate the correct product; the customer's needs are met.
  • Necessary features will be included, reducing post-development cost. See schema “expressed needs” and ‘no expressed needs”.

Modifier

During this process all step below should be checked

  • Analyse the problem is about agreeing problem and creating the measures that will prove its value to the organization.
  • Understand product manager needs is about sharing the problem and  finding out what their needs are surrounding the solution idea.
  • Define the system is about creating features from needs and outlining use cases, activities which show nicely the high-level requirements and the overall usage model of the system.
  • Manage the scope of the system is about modifying the scope of what you will deliver based on results so far and selecting the order in which to attack the use-case flows.
  • Refine the system definition is about detailing use-case flows with the product manager in order to create a detailed use case and data samples.
  • Manage changing requirements is about how to handle incoming requirement changes once the project has begun.

Modifier

Business modelling


The business modelling discipline provides a way for project teams to:
  • Understand the structure and dynamics of the organization in which a system is to be deployed (the target organization).
  • Understand current problems in the target organization and identify potential areas for improvement.
  • Ensure that customers, end users, and developers have a common understanding of the target organization.
  • Derive the system requirements needed to support the target organization.

In this model there are several stereotyped model : Business Actor,  use case, use case realization, worker, entity. Only type “use” case should be use for this type of project.

Business Use Case. Defines a set of business use-case instances; each instance is a sequence of actions a business performs that yields an observable result of value to a particular business actor.

Image

Steps


Actor : Patient
Use Case : Visit doctor

In Sentence
A patient visit a doctor
Business use realization :Sequence diagram.
Image

Steps



In Sentence
Patient have measurements from medical staff and after that the doctor should prescribe some medication.

Specific state diagram for portal
Image

Steps



Modifier

Architecture


The architectural model contains all of the technology-specific decisions for our project but none of the behaviours specific decisions. For this reason, it is considered as platform-independent, provided they span multiple current or future use cases.

In this part you should use a simply document especially if you use recurrence architecture
In this schema or document you should found
  • Technical platform
  • Workflow
  • Actors
  • And data on security, performance, reliability.

Modifier

Development

All development should be drive by “Test-Driven Development “

Test Driven Development is a computer programming technique that involves repeatedly first writing a test case and then implementing only the code necessary to pass the test. Test-driven development gives rapid feedback.

Test-driven development requires that an automated unit test, defining requirements of the code, is written before each aspect of the code itself. These tests contain assertions that are either true or false. Running the tests gives rapid confirmation of correct behaviour as the code evolves and is refactored. Testing frameworks based on the NUnit concept  provide a mechanism for creating and running sets of automated test cases.

Test-driven development only proves correctness of design and functionality according to the test cases written. An incorrect test that does not represent the specifications will produce incorrect code.
Each group of test should correspond to a unique Use Cases, and only uses data samples that comes from the analysis part.

Modifier

Quality assessment


Quality  is the most common failing point of software projects, since it is often an afterthought and sometimes even handled by a different team.
In this company you should found
Unit testing By developers
Integration By project manager or another team (optional depend of the size of the project)
Quality assessment By Project manager & Product manager
Client testing another team (depend of the site of the project)

Modifier

Deployment

The purpose of deployment is to successfully produce product releases, and deliver the software to end users. It covers a wide range of activities including:

Package software (use sourceforge)
Distribute software (waiting the development of private package deployment)
Providing help and support to users (document for the Network Operating Center)

Many activities need to be included in earlier phases to prepare deployment at the end of the development.

Points importants