ࡱ> XZW5@ iDbjbj22 ZXX9DDD`xxx4444$X,+V+X+X+X+X+X+X+-R0FX+xX+xxm+xxV+V+&*|xx+ <04*B++0+*Zc0c0$+xxxxc0x+<h|~DX+X+00 CS38010 2002/2003 Michael Parker Second Assignment 981316163 Department of Computer Science dvp8 Question One. You are a member of a professional organisation for computer scientists and software engineers. A draft EC Directive has been published by the European Commission which would harmonise the professional requirements for software engineers in all Member States. If adopted in its present form, the directive will require, amongst other things, all those involved with the development of software for safety-related applications to be a member of an appropriate professional organisation, have chartered status and to have demonstrable competence in the development of safety-related systems evidenced by experience, qualifications and attendance at regular professional updates on current techniques and standards. The UK has declared its opposition to this proposal on the grounds that it would restrict the development of the software market. Prepare a response on behalf of your professional organisation which includes detailed explanation of your support or opposition to this proposal and suggest amendments to the draft directive, if appropriate. Declaration of Originality This submission is my own work, except where clearly indicated. I understand that there are severe penalties for plagiarism and other unfair practice, which can lead to loss of marks or even the withholding of a degree. I have read the sections on unfair practice in the Students Examinations Handbook and the relevant sections of the current Student Handbook of the Department of Computer Science. I understand and agree to abide by the Universitys regulations governing these issues. Signature: Name : David Michael Parker Date: 28th February 2003 The proposal that a software engineer should be chartered, seems to throw up more problems and negative arguments than it does positive. In order to be a member of a chartered institute any worker must prove appropriate experience and competence and maintain this status with continuing professional development (CPD) to be continually aware of any updates in technique or standard. In short, the employee must demonstrate a greater awareness of responsibility. So the ability for a company to defer responsibility if a problem should occur and the possibility of a more stable, reliable, safer system are the two main arguments that appear to be in favour of employing chartered software engineers. To address the first of these two, it would be a very bad practice for a company to feel able and actively to blame an individual employee for a problem. It is doubtful that the families of plane crash victims would find justice in a report, blaming a coder for the death of their loved ones; it is more likely that they would hold the company responsible and consider the displacement of responsibility on to one individual, as a cruel attempt to salvage its damaged reputation. If a software engineer is chartered, does it excuse him from ever making a mistake? Someone will always have to take the blame for a system going wrong. All that can be done is to minimalise the possibility of any such problem or risk. Having a chartered computer scientist working in a company may well pin point where there is a problem or where an error has been introduced. Even if the person responsible were never outrightly blamed, it could be a great personal crushing of somebody's place in a company for his colleagues to know that this one person's work caused a fatality. According to the Rothstein website forum, discussing measures to take to prepare for potential disasters, these are the factors which cause disasters to occur in a company: 1. Human Error 68% (Cable damage, Electrical, Accidents, Carelessness) 2. Technology Causes 25% (Equipment Failure, Software Failure, Power Failure) 3. Natural Causes 5% (Fire, Water Damage, Floods, Lightening, Earthquakes, Toxic Spill) International Causes 2% (Terrorism, Vandalism, Computer Viruses) (http://www.rothstein.com/wwwboard/messages/138.html) Human error is, by far, the greatest cause of problems. Considering the implications of this, the 'software failure' quoted above was also written by coders, so if this software fails, there is a possibility that it could be due to human error when the software was written. So then, if one coder is the cause of a problem in some software, then any subsequent work on it or using it is likely to suffer from the initial error. A chartered employee may be more skilled and perhaps more aware of the potential problems, but nobody is perfect. It may be conceded that there is still possibly a considerable advantage of employing someone who is responsible and has a higher level of training; this is an idea that will be considered later on in the essay. In order to look at the idea of whether employing chartered software engineers would improve the possibility of a more stable, reliable, safer system, consideration must first be made of those structures that are already in place, both in the software engineering field and also in other safety-critical areas. The Institute of Quality Analysis (IQA) code of conduct states: 4. Responsibilities to clients, customers and employers Members shall not knowingly undertake work for which they do not have sufficient and appropriate competence or authority. 5. Responsibilities to subordinates Members shall maintain adequate supervision over persons working under their professional authority or supervision and shall encourage them to develop their professional competence. (http://www.iqa.org/membership/codeofconduct.shtml) Increasing the safety of software by a tighter testing regime would place demands on staff to meet pre-requisites such as a system, where senior members of staff work with newer members of staff. The system would need to function, more-or-less, in the following way: A university graduate might be given the job of coding a number of straightforward classes that are to go in to a specific, main system. These classes would then be checked and commented on by a manager. In this way, the new graduate learns to work in the company's style and is also given feedback on how to tighten up any flaws in his code. This would enable any new employee to develop a greater level of competence whilst also satisfying section 5 of the IQA's code of conduct. Looking at the International Organisation for Standardization (ISO) standards, many ways can also be found which are used by companies to ensure safety and reliability. Personnel performing work affecting product quality shall be competent on the basis of appropriate education, training, skills and experience. The organisation shall a) determine the necessary competence for personnel performing work affecting product quality, b) provide training or take other actions to satisfy these needs, c) evaluate the effectiveness of the actions taken, d) ensure that its personnel are aware of the relevance and importance of their activities and how they contribute to the achievement of the quality objectives, and e) maintain appropriate records of education, training, skills and experience. (ISO 9001:2000 Quality management systems - Requirements) A substitution of the word safety for quality would enable this standard to be applied to safety- critical software development the basic principles are the same. It is essential to ensure that a company's qualitative emphasis is not placed on an individual's past learning experiences, but rather on the way he learns whilst working for a company. This emphasis should not allow for an employee to gain a qualification and 'rest on his laurels'; the focus should be on building on past achievements with relevant at-work experience. The draft EC directive put forward stipulates the need for attending professional updates. This ISO standard implies that relevant training would lead to up-to-date knowledge; the planned draft EC directive appears to echo this. Looking at a different ISO document it can be seen that management structures are a vital part of ensuring that employees receive, the relevant training. Management should improve both the effectiveness and efficiency of the organisation, including the quality management system, through the involvement and support of people. As an aid to achieving its performance improvement objectives, the organisation should encourage the involvement and development of its people by providing ongoing training and career planning by defining their responsibilities and authorities by establishing individual and team objectives, managing process performance and evaluating results, by facilitating involvement in objective setting and decision making, by creating conditions to encourage innovation by ensuring effective teamwork (ISO 9004 Quality management systems) It is clear from reading these documents that the areas of reliability, safety and the demonstration of competence are already well covered by accepted (non-legislative) standards. Is there really any point in this directive mimicking what has already been set up? Are the standards of demonstrable competence specified in the directive put forward, of a level advanced enough to qualify the chartered software engineers who meet them, as better than non-chartered software engineers who already meet the identical standards currently in place? In short, does the directive make high enough demands on the quality and ability of the software engineer it qualifies as chartered? The demands placed upon any software engineering company, are magnitudinous and manifold, as is well exemplified by dealings with the London Ambulance Service, back in 1993: What is clear from the Inquiry Team's investigations is that neither the Computer Aided Despatch (CAD) system itself, nor its users, were ready for full implementation on 26 October 1992. The CAD software was not complete, not properly tuned, and not fully tested. Whilst understanding fully the pressures that the project team were under to achieve a quick and successful implementation it is difficult to understand why the final decision was made, knowing that there were so many potential imperfections in the system. (Report of the Inquiry into the London Ambulance Service) There are systems in place, to minimalise the risk of error impacting as disaster, as it did in the case referred to above. Boehm's spiral model is a structure, widely-used in software engineering companies. Ian Sommerville, briefly defines Boehm's model, saying that the most important distinction between the spiral model and other software process models, is the explicit consideration of risk (Software Engineering). In order to fully understand what Sommerville means, first, the concept of risk must be defined; after all, risk is a pivotal factor in the development of safety-critical software. Sommerville helps us out here, again, saying that, risk is a concept that is difficult to define, precisely. Informally, it is simply something which can go wrong, (Software Engineering). In order to prove itself a revolutionary force for the improvement of standards, the EC directive would have to propose a new model, or Boehm's model in a stage of greater advancement, impacting seriously on the ways in which a company makes decisions and develops software. It is certain that the directive should propose measures to further minimalise the risk of such disasters. The directive clearly fails to do this and, in failing, cannot justify its reason for being. So, it is evident that the directive can offer no advancement past frameworks that are already available. Even if becoming chartered appeared worth while how long would it take to get these qualifications? Would they be funded by the company? Would they be done during work or after hours? How much pressure would be placed on the employee? The British Computer Society already offers examinations that prove a candidate has a high level of understanding and responsibility, It is an honours degree level professional qualification, which acknowledges your practical experience as well as your academic abilities. It will give you a distinctive edge over the competition, as employers can be confident that you know not only what you are doing, but how and why. (http://www1.bcs.org.uk/link.asp?sectionID=437) Why, then, would an employee want to work for an employer with chartered staff? Why would the employer be eager to employ a chartered or non-chartered software engineer? Working with a company that employed chartered staff would enable a graduate employee opportunities to learn a lot from people who are more qualified, there would be a high salary, an excellent grounding for future jobs and more chance of a lasting career. From an employee point of view, staff learning good habits from experienced employees would make the workforce better equipped to do their job. Training costs would not be particularly high, with staff already in place. Hiring a mixture of chartered and non-chartered employees would be cheaper than having all chartered. It would also mean that a work force would not be over qualified; staff boredom would be minimalised as the chartered staff would teaching the non chartered staff and the non chartered staff would constantly learn. However, when it comes down to it, is there really anything between a chartered and non-chartered software engineer but a few exams? The directive in its present form does not propose enough to make compliance worthwhile. The amendments mentioned, herein, would improve the directive's power but the possibility of such amendments being met, is unlikely. In short, until the directive proposes advancement rather than alternative it is neither a viable nor an essential step to take to comply with its proposals. Rothstein Associates Incorporated, http://www.rothstein.com/wwwboard/messages/138.html Copyright 1995-2002 Rothstein Associates Inc The Institute of Quality Analysis (IQA) code of conduct found here http://www.iqa.org/membership/codeofconduct.shtml Copyright 2002 - 2003 IQA ISO 9001:2000 Quality management systems Requirements ISO 9004 Quality management systems Found in private email, Copyright ISO Report of the Inquiry into the London Ambulance Service, South West Thames regional health authority, London Copyright 1993 The British Computer Society European Computer Driving Licence (ECDL) found at http://www1.bcs.org.uk/link.asp?sectionID=437 Copyright British Computer Society Sommerville, Ian, Software Engineering, Addison-Wesley (UK, 1996)  Throughout this essay, this term will be used in the generic sense and as such, refers to both the male and the female possibilities.  Rothstein Associates Incorporated is based in the United States of America and deals with disaster recovery in businesses and the prevention of such disasters.  The IQA is a government endorsed body working with them and industry to improve the regulations which dictate the process of the assessment of quality standards.  ISO Is a worldwide federation and non-governmental organisation which works with nation standards bodies in over 140 countries, to promote standards in the exporting of goods and services. The agreements ISO mediates, become published, international standards. p NOx{orIL,/  -08;ƽ򭩭 h:6jh:0JUh5bh:hjhhjh6CJH*hjh56CJhjhhjh56CJ h)6CJhjhhjhCJh/hjhaJ hjh6CJhjhhjh6CJhjh<'Gnop~I J OQ  gdjhgdjh &dPgdjhAhD,#$rs&'$a$  & FS^S &dPgdjhgdjh  gdjh.1XYtw(+67  l!m!""""##C$}$%%(%%%&&&&''((**++++ - ---..J/M/O0011Y1\12124222W3Z333344)5,555W6Z6}666 h:5h)pN h:6 h:6CJjh:0JUh5bh:V'L67(!)!!!"c"z"""#O##C$}$~$ (!(_)`)))* & Fgd#@$a$$a$**q*r*****A.B.O00055j7k7888 = =>>??$a$$a$ & Fgd#@gd#@S^S6666774888 9 9e9h9g:j:::E;H;;;;;<<d=g===>>>>>>>>>???J?V?????????@@@@%@+@,@c@@@@@˺˺˺˺ hahahahao(hPqha6hahahPqaJh5bh5bo(hPq h5bh5bhPqh5b6 h:6h)pNh:6CJaJh)pNh:aJh:h5b>????@+@,@@@NAOAABB_CgDhDiD@@@@(A)A*AMANAaAuAwAAAABBBB_C`ChDiD׽h)jh)0JUhPqhPqaJ hPq6aJhPqhPq6aJ hPqaJhahaaJo(hahaaJhPqha6aJ haaJ. A!n"n#n$n%\@\ Normal1$ *$7$5$3$B*OJQJCJmH sH PJCJDA@D Default Paragraph FontVi@V  Table Normal :V 44 la (k@(No List >O> Footnote Characters:O: Numbering SymbolsHOH Bullet SymbolsOJQJCJPJCJ0U@!0 HyperlinkB* >*@&@1@ Footnote ReferenceH*>*A> Endnote ReferenceH*<OQ< Endnote Characters6B@b6 Body Text x`M@ar` Body Text First Indent]^`Z@Z  Footnote Text $]^`CJCJBOB quote8]^8`6 Xli<*i<Z'Gnop~IJOQ ,#$rs&'L67()czOC}~ ! _!`!!!""q"r"""""A&B&O(((--j/k/000 5 566777778+8,888N9O99::_;g<j<000p000p00p0p0000p0p0p00 00(0000 0000 00 0 00000000000 000000000000000000000000000000000 0 0 0000 0 00000000000000000000000000000000@0@0@0@00?41'J 0 5 56777778+8,888j<@0O900Oy00O90, n>O90M90O900M900O900O900, oO900O9000O900 O900O900O900O90 0O900O900O900O9000w6@iD#'*,'*?iD$&()+hD%W]2 X]2DY]2!Z]2"[]2G\]2J]]2L R^]2dMD_]2D"`]2HDa]2(Db]2l#c]2!d]2dl"e]2dNN&o(o(77$78899M:M:j<     PP&u(u( 747478899e:e:j< =*urn:schemas-microsoft-com:office:smarttags PlaceName=*urn:schemas-microsoft-com:office:smarttags PlaceTypeB*urn:schemas-microsoft-com:office:smarttagscountry-region8 *urn:schemas-microsoft-com:office:smarttagsCity9*urn:schemas-microsoft-com:office:smarttagsplace8 *urn:schemas-microsoft-com:office:smarttagsdate  101992220032628DayMonthYear    9j<OP9j<'GpOPQ'L""67789<f<j<9j<Michael Parker9D|Vl!5X;^`.7^7`.R^R`.n^n`.^`.^`.^`.^`. ^ `.^`OJQJCJPJCJ" ^`OJQJCJPJCJ" ^`OJQJCJPJCJ" 2^2`OJQJCJPJCJ" M^M`OJQJCJPJCJ" h ^h `OJQJCJPJCJ"  ^ `OJQJCJPJCJ"  ^ `OJQJCJPJCJ"  ^ `OJQJCJPJCJ" ^`OJQJCJPJCJ" 6^6`OJQJCJPJCJ" Q^Q`OJQJCJPJCJ" l^l`OJQJCJPJCJ" ^`OJQJCJPJCJ" ^`OJQJCJPJCJ" ^`OJQJCJPJCJ" ^`OJQJCJPJCJ"  ^ `OJQJCJPJCJ" ^`^`^`^`^`^`^`^`^`h^`OJQJo(hHh^`OJQJ^Jo(hHoh  ^ `OJQJo(hHhx x ^x `OJQJo(hHhHH^H`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh  ^ `OJQJo(hHhx x ^x `OJQJo(hHhHH^H`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHl!59D                   )#@)pN5bPqjh/a:j<@i<@@UnknownGz Times New Roman5Symbol3& z Arial[ ThorndaleTimes New RomanKHG Mincho Light J=StarSymbol?5 z Courier New;Wingdings"hiErr, 0?{ 2B$4dR9%<@H?#@Michael Parker$      Oh+'0|  , 8 D P\dltsssssNormalMichael Parker8chMicrosoft Word 10.0@%@D@I8@Rv 0՜.+,0 hp  www.michaelparker.info?R9A  Title  !"#$%&'()*+,-/0123456789:;<=>?@ABCDEFHIJKLMNPQRSTUVYRoot Entry F%0[1Table.0WordDocumentZSummaryInformation(GDocumentSummaryInformation8OCompObjj  FMicrosoft Word Document MSWordDocWord.Document.89q