аЯрЁБс>ўџ 57ўџџџ4џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџьЅСY ПшbjbjѓWѓW &6‘=‘=Д3џџџџџџ]xxxxxxxŒŒŒŒ8Ф а4Œ|L((>>>>>>ACCCCCC$ШєМ ˆgx>>>>>gЈxx>>(ЈЈЈ>jx>x>AŒŒxxxx>AЈЈЌъOxxA>$ЊŠйƒСŒŒЈ9Systems Design Introduction Talked about the Systems Analysis bit Next stage is the Systems Design bit Take the Products of the SA stage… Analysis documents – DFDs, ERMs, Data Dictionaries, etc. System Test Document User Acceptance Test Document …& Design the System This is not a ‘How to do Systems Design’ lecture Give guidelines Systems Design is coupled closer to Design & Implementation than Analysis & Design Easier & faster to iterate Design & Implementation Aims Produce a consistent, coherent design for a system that performs accurately Code Template – fill in the blanks Document Template – numbered sections Testing strategies Provide a solution to meet all the System Requirements All elements of the design should be documented Design Decisions & alternatives Rationale for the choice made and any justifications Starting the Phase Put standards in place Code Template – well-commented code Document Template – detailed, complete descriptions Testing strategies – approaches Standards help to make sure the system is maintainable These standards should be well publicised within the project team – they should know what is expected of them in terms of what they should produce Strategy for Implementation This should be consistent across the whole system Low-level Hardware/Software Interface High-level Front End People Issues & Project Management Picking the right mix of people to do the design Training Time & Budgets The middle of the design process is not the time to start worry about such issues Partition the Functionality May be done by the Systems Analyst(s) Divide the system into logical chunks so that small manageable teams can work to design a section Ideally, there should be some continuity of people – the Systems Analyst(s) should work as Team Leader(s) or as Consultant(s) to the Design Team(s) Framework for Information Dissemination To Teams Hold regular internal design meetings with Team Leaders A copy of the meeting minutes could be sent to team members To the Client Progress Meetings Not enough that progress is made – progress must be seen to be made Important that the Client gets a ‘Warm Feeling’ It’s not a good idea for the Systems Analyst(s) to leave and then 6 months to a year later, the project manager turns up with a package Methods Number of different Design Methods Primarily, chosen by the SA and the analysis method employed It may be possible to choose a method independently of the analysis method If the product of the analysis is a Functional Specification, any design method may be used For Structured Methods ( DFDs, ERMs, etc. ), the design method should continue in that mode Helps to trace the requirement to the design element and on to the implementation. DFDs ->Structure Charts The 2 products map together reasonably well Example Structure Charts break down DFD process into smaller chunks Top-Down Design Other Possibilities OOA -> OOD Re-usability CORE -> CORE Whole Method – Analysis & Design Generally the more work done at the analysis stage, the less there is to sort out during the design stage Constraints / Considerations Technology System performance Response Time Database size Trying to reconcile some business need with the technological possibilities Issues/concerns highlighted during analysis stage should be given special considerations User Acceptance Testing What should be put in place such that the client will accept the system? Implementation How is the system going to be implemented? Capability of the target language/platform Mixing technologies – Client/Server & Networked Databases, UNIX & PC Based Software Products of Systems Design Design Document(s) Blueprint for programmer when coding the component programs The contents depend on the functional split, scope, etc. Generally, it will contain structure charts, pseudo-code, decision trees/table, flowcharts, etc. Anything that will help the programmer implement the design accurately Designers are not always the implementers The level of detail should be appropriate for the target audience Caveats Any recognised problem areas for the implementation Some issues cannot be resolved during the design stage -> Prototyping, Research & Development If Response Time was highlighted during the analysis stage, this should be reflected in an efficient design. However… ‘It is easier to make a working system efficient than it is to make an efficient system work.’ – Yourdon Test Strategy 3 Types Module Testing Test the component parts to ensure they operate correctly Black boxes – a set of values in – the results are… Integration Testing 2 or more black boxes are operating correctly as a collection Too late at the end to find out individual modules don’t talk to one another Published interface profiles System Testing All modules work correctly as a whole For each type… Describe what is going to be tested What are the expected results? What are the criteria for passing the test? What values are acceptable & not acceptable? The approach to testing will have been one of the initial decisions made at the start of the phase. 90% code coverage takes 50% of the effort 95% coverage takes 90% effort 97% coverage takes 95% effort Diminishing Returns 100% code coverage is almost impossible to achieve in a large system Testing Functionality Decide what is going to be tested and how Is anything not going to be tested? – document why not Error Tests What happens when an anticipated fault occurs? Unanticipated faults Stress Test How much stress ( load ) can the system take before the response time becomes unacceptable? Limit Testing Expected Values – 1->9 Exception Testing – 0 Maintenance These products will be priceless in the future if enhancements are required For a large system, the client may be happy to take a cut-down version as Phase 1 Phase 2 has added functionality & so must be retested to make sure that Phase 1 functionality is not compromised by Phase 2 Enhancements Phase 1 Testing Strategy… Will be the starting point for regression testing Future Enhancements Imagine trying to take over someone else’s code & develop it Without proper design documentation Without testing documentation All you have to go on is a few comments in the code Nightmare!! Documents should give as much information as possible in a sensible order. Not just a brain-dump If there is no method in the design framework to document the information you think is important, change the framework or create 1 Write a Technical Note Systems Design The process of designing a system based on the results of systems analysis. (Alex Fleming, 2001 Page  PAGE 10 WefГКЛежмнпршјђьшсосзс 0JmHnH0J j0JU jг№ B*CJ8h B*CJ@h 5B* CJ@h BgŠУиі <LŸвз#FlЖц;Ne‰Нн§ћљљїљљљїїљїљ§їљљљїїљљ§ћљљљїBgŠУиі <LŸвз#FlЖц;Ne‰НнЇУѕ 0 S „  œ ю 0 ’ ќіѓ№ъчфслевЬЩќУРНКДЎЋЈќЂŸœН–“‡„{чxurl‡iкџџџ M§џџ”џџџЃџџџЌџџџ wџџџЈџџџЮџџџ фџџџ ”ўџџЩџџџ qџџџХџџџщџџџ эџџџАџџџаџџџ џџџ Sџџџkџџџ‘џџџДџџџ ћџџџ­џџџ УўџџЯџџџ џџџ џџџџџџЄџџџнџџџ ЈџџџЭџџџѓџџџ ёџџџ)ЇУѕ 0 S „  œ ю 0 ’ & O X  Ь к ь 0 ` a щ ё  Q œ §ћљ§§љ§§§§ћљ§§ћљ§§љ§§§§љїћљ§’ & O X  Ь к ь 0 ` a щ ё  Q œ ј TЇПыѓ/?S^kx™š!,?M[Їapќі№эъфсоливЯЩУРќНКДБЎЋќЅŸœ–“ŠЯ„œ~xrlБiŸџџџ џџџ zџџџ Цџџџдџџџтџџџ уџџџ Ѕџџџвџџџѓџџџ дџџџѕџџџ ьџџџ Њ§џџДџџџМџџџшџџџ JўџџРўџџџџџУџџџ нџџџ јџџџ Хўџџlџџџœџџџрџџџђџџџ ZџџџПџџџїџџџ зџџџ ќџџxџџџ(œ ј TЇПыѓ/?S^kx™š!,?M[Їap›Ц§§§ћ§§§§љћ§ћ§§ћїљ§§§ћћљ§§§§§p›Ц5H„Нeбй kисJX`oЉнё/|™ЈЮн Lyн%CWœВќљіѓэчфсоиеЯЬфЩУРѓКДБЎЈЅЂŸ™Б“Š„{xurlЅf 2ўџџ ‹ўџџTџџџrџџџœџџџ Uџџџдџџџ Ўџџџмџџџ ёџџџ |ўџџ ПўџџaџџџЎџџџьџџџ {џџџЗџџџёџџџ јџџџ ђџџџїџџџ ]§џџfџџџјџџџ dўџџжџџџ аўџџ*џџџ‹џџџФџџџ эџџџ хџџџ:џџџeџџџџџџ(5H„Нeбй kисJX`oЉнё/|™ЈЮн §ћљїїїљїљїїїљї§ћљїїљїїїљїћљї Lyн%CWœВм OdpЬкё_Б:T†šзћ§ћ§ћћћ§ћ§ћћ§ћћ§ћ§ћћљ§ћћ§ћї§ћВм OdpЬкё_Б:T†šзћMYЄК=TUVWfГДЖЗКсцчшќљѓ№эчфолиеЯЬЩУРКДБЎЋЅфЂŸœ™–“‹ˆ‹…‹‹   іўџџ їўџџјўџџљўџџџџџ“џџџЉџџџ 9џџџџџџŸџџџУџџџ ьџџџ ўџџцџџџ ЭўџџbџџџДџџџ єџџџлџџџђџџџ §џџєџџџ j§џџФџџџѓџџџ Л§џџРџџџъџџџ'ћMYЄК=TUVWfГДЕЖЗИЙКстуфхцчш§§ћ§§§§§§§ђь§ъ§ъ§ш§ш§ъ§ш§§§„’„>ў & F„„ф§$&P PА‚. АЦA!А "А #$%А [>@ёџ>Normal$$„nЄPЄP 6mH nH R@"R Heading 1$$„ЄЄ№@&56CJ KHOJQJF@2F Heading 2„Є№ЄД@&5CJOJQJD@D Heading 3 „7ЄД@&56CJOJQJ** Heading 4@&<A@ђџЁ<Default Paragraph Font8Yђ8 Document Map-D OJQJ,@,Header  Ц9r 4 @4Footer„ ЦИp#CJ&)@Ђ!& Page Numberш6џџџџ.025шœ  ћш’ pВш!(+5!”џ•€ŸЃЅЉ    Ї Ћ BIоцДцщџџ Alex Fleming6C:\WebPages\afleming\lectures\temp\systems-design2.doc Alex Fleming5C:\WebPages\afleming\lectures\temp\systems-design.doc Alex Fleming0C:\WebPages\afleming\lectures\systems-design.doc Alex Fleming0C:\WebPages\afleming\lectures\systems-design.doc Alex Fleming0C:\WebPages\afleming\lectures\systems-design.doc Alex Fleming0C:\WebPages\afleming\lectures\systems-design.docўџџџџџџџџџџџџџџџџ*ўџџџјєџџџџŽє @CJ0OJQJo(u№џџџ@€ГГє/єГГшp@G‡:џTimes New Roman5€Symbol3& ‡:џArial5& ‡:џTahoma_R €ZapfDingbatsMonotype Sorts"A‰аhєL\Uk\†З1 -б"0fџџSystems Design Alex Fleming Alex Fleming RhubarB26ўџ р…ŸђљOhЋ‘+'Гй0pˆЈДЬиь  , 8 DPX`hфSystems Designyst Alex Flemingnlex Normal.dotg Alex Flemingn3exMicrosoft Word 8.0@FУ#@0"їъ€С@F‰йƒСЗ1ўџ еЭеœ.“—+,љЎDеЭеœ.“—+,љЎ<ј hp|„Œ” œЄЌД М зф m- j Systems Design Title˜ 6> _PID_GUIDфAN{DA5F2067-E015-11D5-ABB6-00C0DFEA7724} ўџџџ !"#ўџџџ%&'()*+ўџџџ-./0123ўџџџ§џџџ6ўџџџўџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRoot Entryџџџџџџџџ РFхga“ПРб“йƒС8€1TableџџџџџџџџџџџџWordDocumentџџџџџџџџ&6SummaryInformation(џџџџ$DocumentSummaryInformation8џџџџџџџџџџџџ,CompObjџџџџjObjectPoolџџџџџџџџџџџџРб“йƒСРб“йƒСџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџ џџџџ РFMicrosoft Word Document MSWordDocWord.Document.8є9Вq