Friday, February 22, 2019
Software development and engineering
There argon two features which are common to virtually technology science definitions The solution of practical problems for the benefit of humankind The use of scientific and an other(prenominal) ceremonialised noesis to design and build artefacts within economic constraints release between scientists and engineers Scientific reasoning and research is essentially inductive, scientists try to guess general rules or laws from the results of a limited number of observations or data-based results The activities of engineers are quite distinct, their objective is for human benefit rather than explaining the innate(p) world. They make use of scientific results in a deductive demeanor (to verify designs and ideas that are feasible and safe. study of technology disciplinesQUESTION How does engine room come to make use of scientific and formalised knowledge? service The discipline starts in a state of craft practiceAt this decimal point engineering is carried out by practitioner s with little or no formal grooming andknowledge is acquired during apprenticeship.The second stage is the emergence of mercenary exploitation when pressures arise to make economic use of resources or to extend output. Practice becomes more organised and standard procedures are established.The third stage in schooling sees the emergence of professional engineering. At this stage engineering is carried out by educated professionals who use formal analysis and scientific theory to understand and verify their designs.Characteristics of engineeringEngineering bulges tackle all the way defined and quantified problems.Another aspect of new engineering is the use of systematised knowledge, this knowledge gives the engineer a good sagacity both of the problems that he or she is addressing and the materials available for their solution.A science-based knowledge engineer will view signifi brush asidet knowledge of proven procedures and designs which they can reuse where clutch.An important aspect of this systemize knowledge is the ability to learn from blows.SOFTWARE DEVELOPMENT AS engineer?Development of compiler technology In the 1950s when high-level programing languages were first world designed and implemented, compiler writing was regarded as difficult. The development of the first compiler for FORTRAN, completed in proterozoic 1957, required astir(predicate) 18 person-years of effort. Compiler technology has progressed dramatically since, that a compiler can now be implemented in anything from 6 person-weeks to a person-year. raw compilers generally release executable code that is very efficient and it is ancient for programmers to pauperism to resort to lower-level languages. Compilers are usually extremely reliable being at least as free from errors as most other software carrefour on a typical computer.large-scale development projectsLarge-scale projects have always been much more prone to problems or failure than smaller development s, such(prenominal) as compiler implementations, due to difficulties of organising and co-ordinating teams, and dealing with clients. further this is not always the case, as seen in these two examples of large and exceedingly successful projects. flowout 1 SABRE, an Airline Reservation System essential for American Airlines. The project delivered about one million lines of code and composite around 400 person-years of effort. This success is all the more striking because of the overlook of supporting software there were no database systems available at that time, for example.Example 2 NASA Space Shuttle. The project involved introducing rigorous maintain of software development, introduce all changes and errors, and constantly refining the development cognitive operation to figure that errors are eliminated at the earliest possible stage.Other branches of engineering which have resulted in major disasters In 1968, Roman point (a high-rise obstruct of flats in London) col lapsed after a gas explosion in a top flat. The block was constructed using prefabricated components. In 1980, the Hyatt Regency Hotel in Kansas City, Missouri, a hang walkway which connected hotel floors collapsed causing deaths of 114 people. The failure was due to a conclave of design and construction flaws.QUALITY AND SOFTWARE DEVELOPMENTIn modern application and business there is enormous concern to try to produce goods and services of high tone.Definition of Quality The set of characteristics of a product or service which satisfy a customers requirements and expectationsAmerican Joseph Juran, one of the early advocates of smell management, defined quality as the fitness for uses.Detailed tracking of error statistics during development has been found by developers such as Microsoft, to be extremely useful even though they may adopt a more informal approach to managing software development (Cusumano and Selby 1997).Development of ideas about qualityTotal Quality Management (TQM) Clearly defining quality in terms of customers or consumers requirements Concentrating on achieving quality by up production mental processes rather than by inspection of end products The clear judicial admission of processes and the use of statistical analyses and other techniques to track down the sources of faults so that the process can be improved The involvement of everyone in quality approach Constantly trying to improve quality by learning from faults and alter processes and designs.The application of quality management to software developmentApplicable to software development?Each development of a system is a one-off project so it is not obvious that insights derived from improving manufacturing processes are applicable.The argument of Deming and others that quality cannot be achieved by testing alone is borne out by the check of many software developers.Quality standards ISO 9000In order to achieve ISO 9000 certificate It has standards against which to measur e all aspects of its development practices It has procedures in place to access cognitive process against these standards Both the standards and the assessment methods used are recognised in the industryISO 9000 has been criticised on its particular criteria for introducing too much paperwork and ignoring the importance of continuous improvement. potentiality Maturity ModelThis model is primarily concerned with the way in which projects are managed and organised, so it proposes five levels of maturity in development practices.1. sign Level-Not stable environment for developing software. Success heavily dependent on key project staff.2. Repeatable Level-Managing software projects based on anterior experience. Project progress is tracked and under control.3. Defined Level-A standard process of software development is used across the organisation. Adapted and tailored appropriately for individual projects.4. Managed Level-Measurable quality targets are set for projects and the resu lts achieved by all projects are monitored.5. Optimising Level-Measurements obtained from the monitoring of software development are used as a foundation for refining and improving the process used. This level is one of continuous improvement.Chapter 11 Societies for computing professionalsWHAT ARE superior SOCIETIES? Professionals, such as music or the law, are distinguished from other occupations by the long percentage point of training and experience which are required in order to destine as a practitioner. Regulated by professional societies Societies are engage by the members of the profession and represent its interests Not under the immediate control of the government or employersProfessional institutions can be made in two ways By stature (by passing a law) munificent CharterThe Engineering profession (the institution of Civil Engineers, the institution of robotic Engineers, the British Computer Society) have similar rights and responsibilities To advance knowledge i n their line of business To uphold and seek to improve standards of practice (e.g. code of brook for members) To set educational and training standards in their field (e.g. running professional exams and accrediting certain secure stop courses) To advise the government on issues within their area of expertise (e.g. BCS on the Computer Misuse Act)THE HISTORY OF ENGINEERING PROFESSIONS When engineering was at the stage of a craft practice, there were few formal mechanisms for the training of new engineers Throughout most of the nineteenth century British engineers were firmly convinced of the value of practical experience as the basis of trainingPROFESSIONAL INSTITUTIONS FOR SOFTWARE ENGINEERSTwo professional institutions which have most relevance for computer professionals are the British Computer Society (BCS) and debut of Electrical Engineers (IEE).Engineering Council Created by Royal Charter in 1981 Contains 290000 drug-addicted engineers, including about 200000 Chartered En gineersFEANIFEANI represents the engineering profession at a European level and is made of engineering institutions from 27 countries. It was formed in 1951.PROFESSIONAL MEMBERSHIPMembers of professional societies gain the benefit of meeting other professionals in their field as well as access to other resources, such as libraries, seminars and special interest groups.Course accreditationComputer Science degree courses which cover similar materiel to that of the BCS exams are often accredited by the British Computer Society. For a degree course to give full exemption it must Cover the underlying theory and mathematics appropriate to computing Have an emphasis on design Promote understanding of ideas of quality Cover systems development approaches Cover ethical, legal, social and professional issues allow a substantial student project which involves the implementation of an application or tool using an engineering-based approach.Registration with the Engineering CouncilThe Engineeri ng Council maintains a enter of qualified engineers. EA1 introduction to the fabrication and use of materials EA2 application of engineering principlines EA3 a thorough and structured introduction to industry, involving practical assignments EA4 preparation for the post with stateEA1 and EA2 = accredited in engineering degreeEA3 and EA4 = period of appropriate workProfessional developmentBCS has developed the Industry Structure Model to bump different roles and responsibilities which computing professionals must have. It identifies some 200 professional functions ranging from schedule to management. The purpose of the model is to help individuals and organisations to plan training and career development by identifying current gaps in knowledge.BCS runs two development schemes Professional Development scheme computing professionals have properly planned and verified trainingContinuing Professional Development those who have achieved qualification but who need to broaden the ir knowledge.