Text Menu

Discussion Forum

News Letter Sign-Up

Copyright Beaver 2000/2003

Beaver Computer Consultants Limited - Consultants in systems engineering for business, mission and safety critical systems

Home  |  About Us  |  How Can We Help You?  |  Life Cycle Overview  |  Services Overview  |  Requirements  |  News  |  Contact Us  |  Links

  Home   >>   Life Cycle Overview   >>   Systems Analysis and Design

Systems Analysis and Design

In this work flow the requirements flowed down from the user specification are analysed and turned into models, prototypes, and early working products for both the functional requirements and the non-functional requirements such as usability, reliability, performance and cost requirements, to establish a design solution blue print or derive detailed system requirements to flow down in further specialised design and build teams.

The earlier business analysis and requirements work flows focused on establishing what is needed while this work stream, the system analysis and design, focuses on determining how they are best implemented. To support the decision making activity technical options are developed, that is alternative functional and physical designs are simulated for performance, utilisation levels against user demands, and even deriving a dynamic cash flow and P&L model, and tested with users during scenario work shops. Studying the results allows judgements to be made where functionality, performance, cost, delivery time and risk can be compared and traded off, and an appropriate set of requirements and design specification can be achieved.

Models test the solution early on, and act as the basis for refining requirements and the design, and driving trade offs. When a solution model can be shown to meet the functional and non-functional requirements imposed on it, the solutions detailed build can commence in confidence or the componants of the systems models form the basis of new derived requirements which are then flowed down to the next level, with the process then repeating its self.

This work flow commences with a detailed analysis of the requirements that have been flowed down and typical activities perfomred by Beaver include;

  • Refine the user interfaces such as GUI's and report out puts for example. It is likely initial designs where prepared by the business analysis work stream, detailing the information that is captured, manipulated, and outputed.
  • Analysing the data requirements, particulary persistence data, and develping normalised relational data tables, with mapping to appropriate user, business and data objects. Similarly mapping business rules captured from the business analysis and requirements work streams, stored in a central respository to business objects or objects properties and methods.
  • Look for commonality in service requirements and rules that must be implemented, identifying objects whether they are physical asets or software componants, and understanding the messaging that must pass between them, so building up an object model and constructing object sequence diagrams. On to the latter Beaver can allocate apportioned timing requirements for example which then provide targets that other designers and solution builders need to achieve as the build progresses, meaning that if they achieve them individually it is likely the overall end to end times are allow maintained.
  • Functional allocation or object allocation to the physical architecture or infrastructure. This requires establishing what is available from existing products and software componants, where technology insertion is feasable, where new technologys or products can be used to provide additional leverage on business benefits, and determining buildability, instalatability, supportability and whole life management issues.
  • Combining the object model, particularly in terms of message passing between objects and the physical architecture model, to test that the overall end to end non-functional requirements can be met. This looks at the total number of instances of each object that may be required at any one time and how they are are distributed over the client, business, and data architecture. Such models can be simulated to ensure that processor, memory, and communication channels are sufficient to cope with the users non-functional requirements.
  • Analysis of the physical architecture and object design for safety, security, and maintenance implications,and to build a whole life cost model, again ensuring the user requirements are fulfilled, and that exception conditions are identified and management arrangements specified and implemented
An area that Beaver specialise in as part of the systems analysis work stream is performance engineering. A typical problem encountered with UML analysis and design is that people treat the use case, the robustness model, object and sequence models as static representations. Remember in reality a number of use case scenarios will be activie at any one time, and common objects may be delivering services a number of use cases at any one time, and that a number of objects may be applied to the same physcical architecture which will all compete for resources at the same it. They do not take in to account the fact that many loading and response testing packages actually require the physical architecture to be present - what the applications do is simulate the boundary work load and monitoring the end o end performance and monitor the systems capacity to hanlde that work load. Our contribution is early on in the work stream, joining together the information and start to test early on whether a design solution will really meet the performance requirements before building the physical architecture. Such early testing might conclude that certain object strucutre, messaging strucutre, or architecture allocations are more benefical than others or offer better scaleability or expandability.

Beaver also offer verfication and validation support services to both structured methods such as Yourdon, Yourdon Ward-Mellor, and SSADM, as well as OOAD methods such as UML. Typical tracing tasks for UML include mapping use case preconditions, steps and post conditions to an objects properties and methods to ensure completeness and collating evidence that overall object loading can be implemented by the chosen physical architecture.

Beavers approach to systems analysis and design applys equally to call centres and business work flow systems through to manufacturing and transport management solutions including railways. In iterative development analysis, prototyping and early product deployment helps to derive and flush out detailed requirements, which are passed back into the specification and test plans. The requirements are then flowed into the design whether its COTS (commercially off the shelf) or a custom development, or a mixture taking account of what's available. This builds up a functional architecture and maps to a physical architecture of equipment and applications, and the organisational structure.

The critical factor here is the tight relationship between the requirements and the actual solution which can then be traced ultimately through to the business model, drivers, and benefits. The effect of changes anywhere along the chain can be established. Traditionally the process was either to use a method where detailed requirements were established, followed by analysis, and build phases occuring sequentially only to find late in the day it does not technically work or it has lost track of the business need, or alternative approach has been used, where the process was to immediately start to build or code without an adequate understanding of the business needs and ending up with a great solution but for the wrong problem.

Using the approach we recommend provides early confidence, addresses the business needs, and provides a means by which the needed services will be realised can be seen and evaluated, with real progress is being made with real products. It combines the best of both methods. See here to see our capability in analysis and design methods, click here for details of implementation stages covering build, testing, and operational readiness, as well as project management and configuration management and change control work flows, or click here to return to our solutions development main page.