Monday, 28 September 2015

[Study] Royce, W.W. Managing Development of Large Scale Software Systems

According to Royce, analysis of different implementation step diagrams was summarized as follow:


Diagram 1:



  • Apply for sufficiently small project
  • End-users/customers are developers (internal use: Shadow IT)
  • All steps are directly contribute to the usefulness of the final product (no extra cost).
=> Customers/developers are happy to pay/apply.

Diagram 2:
  • Apply for larger IT project
  • End-users/customers are usually not developers
  • Many steps are indirectly contribute to the usefulness of the final product. (drive up costs)
  • => Customers/developers are unhappy to pay/apply
Diagram 3:
  • Same with the Diagram 2
  • Add iterative relationship between the preceding and succeeding steps, but rarely remote steps.
  • Maximize the early work by going back when needed.
=> Feedback is applied but limited.


Diagram 4:

Show the disadvantages of Diagram 3
  • Some errors/defects being discovered in TESTING phases cannot easily fix with some patches in CODING phases. It is required that the project must to go back to the PROGRAM DESIGN phase or event to the SOFTWARE REQUIREMENT phase
Suggested steps for Diagram 2 and 3 improvements(Royce):

Diagram 5:



  • Add PRELIMINARY PROGRAM DESIGN phase between SW REQUIREMENTS and PROGRAM DESIGN phases.
  • [Program designer] design, define and allocate data processing modes (DB processing, excution time, interfaces, modes with OS, in/outputs, ...̣) in System Overview Document
  • System Overview must be much details because:
    • A tangible evidence for tracking completion
    • Document is bad, design is bad
    • Easy to concentrate on mistakes in TESTING phase
    • Easy to change operating people
    • Easy to update, redesign ....
Diagram 6:
  • At the time of completion, 6 documents illustrated in the diagram 6 must be currently up-to-date.

Diagram 7:

  • Do the simulation for the project so that pure judgement toward timing, storage... can be supported with precision.
Diagram 8:


  • [Test specialist] who did not necessarily contribute to the original design can best handle some testings (SOD)
  • Human can easily spotted most errors by its nature (not need for expensive detecting computers)
  • Every logic paths must be tested with some kind of numeric check
  • Detection tool can be run last after all of these tests.
  • Customer must be involved in the test (UAT)

Diagram 9:

Summary:

Reference:

Royce, W. W. (1970, August). Managing the development of large software systems. Inproceedings of IEEE WESCON (Vol. 26, No. 8, pp. 328-388).

No comments:

Post a Comment