(original) (raw)
��ࡱ�>�� ,.����-���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������(���� ��/� 0��L�DTimes New Roman��������0ԱԱ �0� @�n��?" dd@��������� @@``�� ���p4 + c �$�����@�������� �g��4]d]d� �0ر�.��������p�pp�@ <�4BdBd��z������?�J�-�27/09/1999 �(c) Ian DavisO� �=�M���Background material���Software Architecture (Shaw & Garlan) Object modeling & design (Rumbaugh,Blaha ..) Design Patterns (Gamma, Helm, et al) Software Engineering concepts (Fairley) Software Engineering (Pressman) Software Architecture in Practice (Bass, Clements, Kazman)����tIK� ��Further background material ��xThe Mythical Man Month (Brooks) ACM Sigsoft Software Engineering Notices Code complete (McConnell) Death march (Yourdon)�yH1�,#E� ��Goals of software development���Need to understand requirements. Want software with maximum functionality. Code must be reliable. Cost to develop and maintain important. Want results as fast as possible. Must minimize development risks. ���Problem���You cannot achieve all six goals simultaneously. Which of these goals are you willing to compromise on. How do you identify which (if any) of these six goals is realistic or realizable.���Software engineering to rescue���Identify desired functionality Develop architectural design Plan/cost activities Monitor progress Document decision points Identify problems ASAP.���Is software development an art?���YES Getting it right the first time demands vision. There is beauty in a good design. It is easy to appreciate a good design and dislike a bad one, at a raw gut level. NO Little argument about what is good or bad�H�*�*���$Is software development engineering?�%$(���YES We are building things. Need a methodology to succeed. Need engineering management skills. Need to appreciate the importance of quality and reliability. Need professional standards, discipline, and bodies. Should be held accountable for our actions.�$�����$Is software development engineering?�%$(���NO Not concerned with designing within tolerances Code is either right or wrong (ie. Maths) Limited/questionable concern with reuse of code Not building n of the same. Each project is new and unique. Cookbook for algorithms, but not the project.�$���,Q�� �� Acid tests��,Which of the development goals are more achievable using engineering principals? Can software development be a set of well defined manageable discrete logical steps? When is a picture/design/essay worth 1000 lines of code? When does the theory encourage needless bureaucratic displacement activities?� ��The basic issues��( Get it right the first time, that s the main thing. Getting it right at the end doesn t fly. So how do you avoid getting it wrong? Plan to throw your first attempt away - you will anyway. If you plan to throw your first attempt away you will throw at least two attempts away.���� `� ������̙33�������`� ��������������`� ���ff3��3�3�3���f`� ���333������MMM���`� ��������f������`� ���������f���`� ������3�����������>��?" dd@���������,�|��?" dd�@��������� � � �" �@� �`��� �n��?" dd@��������� @@``��P�R @ ` �`� p�>��> �����c�( ����������������� ��� � � �6��z������ ����P�� z �T�� Click to edit Master title style�!� !� � � �0��z����� ������ z ���RClick to edit Master text styles Second level Third level Fourth level Fifth level�! � S� � � �0�Tz����� �`�`��� z �=��*��� � � �0��z����� �`����� z �?��*��� � � �0� z����� �` ���� z �?��*���H � � �0�������h�� ?� ������̙33������� �,Blank Presentation.pot���� 0 ��0�(�.�( � + �(�� �( � �0�&z����� �P �� z �Y��*� ���� �( � �0�t&z����� �� � �� z �[��*� ���d �( c �$��� ?��� �� z� �( � �0��&z����� �� @���� z ���RClick to edit Master text styles Second level Third level Fourth level Fifth level�! � S�� �( � �6�4'z������ �`P��� z �Y��*� ���� �( � �6��/������� �`� ���� z �[��*� ���H �( � �0���h������ ?� ������̙33���������� � ���@���( �hd� ��l � C ���0��������� z � ��l � C ��D1����0��� �� z � ��H � � �0�������h�� ?� ������̙33���������� � ���P�0�$�( �� �0�r �0 S ��5���������� � � ��r �0 S ��d5�����`��� �� � � ��H �0 � �0�������h�� ?� ������̙33���������� � ���`�,�$�( �� �,�r �, S ���6��������P�� � � ��r �, S ���5���������� � � ��H �, � �0�������h�� ?� ������̙33���������� � ���p� ��( � � �l � C ���3�������P�� � � ��l � C ��D4��������� � � ��H � � �0�������h�� ?� ������̙33���������� � �������( �\0� ��l � C ���2�������P�� � � ��l � C ���:��������� � � ��H � � �0�������h�� ?� ������̙33���������� � ������$�( �� ��r � S ��;��������P�� � � ��r � S ��d;���������� � � ��H � � �0�������h�� ?� ������̙33���������� � ������$�( ����� ��r � S �����������`P�� � � ��r � S ��T������ ��@�� � � ��H � � �0�������h�� ?� ������̙33���������� � �������( ����� ��l � C �����������P�� � � ��l � C ��4���������� � � ��H � � �0�������h�� ?� ������̙33���������� � ����� ��( �Pl,33@ � �l � C ��T��������P�� i � ��l � C ������������� i � ��H � � �0�������h�� ?� ������̙33���������� � ��� �$��( ����� �$�l �$ C ��t#z������P�� z � ��l �$ C ���#z��� ��@�� z � ��H �$ � �0�������h�� ?� ������̙33�������r8��Q" (�)�/�-�+�1a3k&1$�pA5 �������Oh��+'��0� px�� @ L X dpx�Goals of software developmentt Ian DavisofCD:\Program Files\Microsoft Office\Templates\Blank Presentation.pot Ian Davis F7n Microsoft PowerPointoso@���@ ;WZ� �@��%��@P@]� �tG0����% � E&�����; &����&#����TNPPp�0�z & TNPP� &����&TNPP ;� ����-�-- !�@-����-��-&����9 �4&������ Y�|�w�|�w�g�w� Y - ����Times New Roman�|�w�g�wd -� .2 A 27/09/1999.&���� �4&���� .2 Y (c) Ian Davis .&����% �4&���� . 2 �1.�--g� :-- ����Times New Roman�|�w�g�w� Z -� .$2 T�Background material % .--��m:-- ����Times New Roman�|�w�g�wd -� .2 �A�. .42 �^Software Architecture (Shaw & . .2 ��Garlan . . 2 �2) . .2 �A�. ..2 �^Object modeling & design ( . .2 ��Rumbaugh . . 2 �.,. .2 �5Blaha . . 2 �{ ..) . .2 �A�. .=2 �^$Design Patterns (Gamma, Helm, et al) . .2 A�. .62 ^Software Engineering concepts ( . .2 �Fairleyh . . 2 9) . .2 :A�. .62 :^Software Engineering (Pressman) . .2 eA�. .E2 e^)Software Architecture in Practice (Bass, . .2 eEClements . . 2 e�,. .2 �^Kazman . . 2 ��) .--� �"SystemwJf�� � -�&TNPP &��������՜.��+,��D��՜.��+,�� �������� � �� {�On-screen ShowDealers Choice Software�5? j Times New RomanBlank Presentation.potBackground materialFurther background material Goals of software developmentProblemSoftware engineering to rescue Is software development an art?%Is software development engineering?%Is software development engineering? Acid testsThe basic issues Fonts UsedDesign Template Slide Titles � 6> _PID_GUID�AN{6D5A84FF-7295-11D3-B8A8-0000B452E98E}Root Entry����������d�O�����)�Pa� �/@Current User������������)SummaryInformation(���������PowerPoint Document(�����5 ���� !"#����%&'()*+����6�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!_���5 ���Ian Davis ���� !"#����%&'()*+����-./0123��������6��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Root Entry����������d�O�����)�����Current User������������,SummaryInformation(���������PowerPoint Document(�����5DocumentSummaryInformation8������������$������������������������������������