Saturday, May 18, 2019

Software development and engineering

There be two features which argon common to just about design definitions The solution of practical problems for the benefit of humankind The character of scientific and former(a) formalised fellowship to design and build artefacts within economic constraintsDifference between scientists and engineers Scientific ratiocination and research is essentially inductive, scientists try to infer general rules or laws from the results of a limited number of observations or experimental results The activities of engineers atomic number 18 quite distinct, their objective is for human benefit rather than explaining the natural world. They make use of scientific results in a deductive way (to verify designs and ideas that are feasible and safe.Development of engineering science cultivatesQUESTION How does engineering come to make use of scientific and formalised knowledge?ANSWER The discipline starts in a state of craft practiceAt this stratum engineering is carried out by practitione rs with little or no formal training andknowledge is acquired during apprenticeship.The second stage is the development of commercialized exploitation when pressures arise to make economic use of resources or to increase output. Practice becomes more organize and standard procedures are established.The third stage in development sees the emergence of employmental engineering. At this stage engineering is carried out by educated paids who use formal analysis and scientific theory to examine and verify their designs.Characteristics of engineeringEngineering projects tackle clearly defined and quantified problems.Another aspect of modern engineering is the use of systematised knowledge, this knowledge gives the engineer a good understanding both of the problems that he or she is addressing and the materials addressable for their solution.A science-based knowledge engineer will have considerable knowledge of proven procedures and designs which they can employ where appropriate.An important aspect of this codified knowledge is the ability to learn from reverses.SOFTWARE DEVELOPMENT AS design?Development of compiler technology In the 1950s when high-level scheduling languages were first being knowing and implemented, compiler writing was regarded as difficult. The development of the first compiler for FORTRAN, completed in early 1957, undeniable about 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. Modern compilers generally produce executable code that is real efficient and it is rare for programmers to need to resort to lower-level languages. Compilers are usually extremely reliable being at least as free from errors as most other package on a classifiable computer.Large-scale development projectsLarge-scale projects have always been much more prone to problems or failure than smaller developments, such as compiler implementation s, due to difficulties of organising and co-ordinating teams, and dealing with clients. But this is not always the case, as seen in these two examples of large and highly successful projects.Example 1 SABRE, an Airline Reservation schema developed for American Airlines. The project delivered about one million lines of code and involved around cd person-years of effort. This success is all the more striking because of the lack of supporting software there were no database systems uncommitted at that time, for example.Example 2 NASA Space Shuttle. The project involved introducing rigorous control of software development, trailing all changes and errors, and constantly refining the development carry out to ensure that errors are eliminated at the earliest potential stage.Other branches of engineering which have resulted in major disasters In 1968, Roman point (a high-rise stymy of flats in London) collapsed after a gas explosion in a top flat. The block was constructed employ pr efabricated components. In 1980, the Hyatt Regency Hotel in Kansas City, Missouri, a suspended walkway which connected hotel floors collapsed ca apply deaths of 114 people. The failure was due to a combination of design and construction flaws.QUALITY AND SOFTWARE DEVELOPMENTIn modern industry and cable there is enormous concern to try to produce goods and services of high flavour.Definition of tincture The adjust of characteristics of a product or service which satisfy a customers requirements and expectationsAmerican Joseph Juran, one of the early advocates of part 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 timberland Management (TQM) Clearly defining quality in terms of customers or consumer s requirements Concentrating on achieving quality by improving production processes rather than by inspection of end products The clear specification 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 improvement Constantly trying to improve quality by learning from faults and improving processes and designs.The coat 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 experience of many software developers.Quality standards ISO 9000In order to achieve ISO 9000 certification It has standards against which to measure all aspects of its development practices It has procedures in plac e to assenting performance against these standards Both the standards and the assessment methods used are recognised in the industryISO 9000 has been criticised on its situation criteria for introducing too much paperwork and ignoring the importance of continuous improvement.Capability Maturity ModelThis model is primarily pertain with the way in which projects are managed and organised, so it proposes five levels of maturity in development practices.1. Initial Level- non durable environment for developing software. Success heavily dependent on key project staff.2. Repeatable Level-Managing software projects based on previous 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 results achieved by all projects are monitored.5. Optimising Level-Measureme nts obtained from the monitoring of software development are used as a rear end for refining and improving the process used. This level is one of continuous improvement.Chapter 11 Societies for calculate professionalsWHAT ARE PROFESSIONAL SOCIETIES? Professionals, such as medicine or the law, are distinguished from other occupations by the long period of training and experience which are required in order to qualify as a practitioner. Regulated by professional societies Societies are run by the members of the profession and represent its interests Not under the immediate control of the government or employersProfessional institutions can be make in two ways By stature (by passing a law) Royal CharterThe Engineering profession (the institution of Civil Engineers, the institution of Mechanical Engineers, the British Computer Society) have similar rights and responsibilities To advance knowledge in their area To uphold and seek to improve standards of practice (e.g. code of conduct for members) To set educational and training standards in their field (e.g. running professional exams and accrediting certain degree 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 Institution of Electrical Engineers (IEE).Engineering Council Created by Royal Charter in 1981 Contains 290000 qualified engineers, including about 200000 Chartered EngineersFEANIFEANI represents the engineering profession at a European level and is made of engineering ins titutions from 27 countries. It was formed in 1951.PROFESSIONAL MEMBERSHIPMembers of professional societies gain the benefit of come across 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 real by the British Computer Society. For a degree course to give ample 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 Include a substantial student project which involves the implementation of an occupation or tool using an engineering-based approach.Registration with the Engineering CouncilThe Engineering Council maintains a register of qualified engineers. EA1 introduction to the fabrication and use o f materials EA2 application of engineering principlines EA3 a thorough and structured introduction to industry, involving practical assignments EA4 preparation for the post with responsibilityEA1 and EA2 = accredited in engineering degreeEA3 and EA4 = period of appropriate workProfessional developmentBCS has developed the patience Structure Model to classify different roles and responsibilities which computing professionals must have. It identifies some 200 professional functions ranging from programming 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 substantiate trainingContinuing Professional Development those who have achieved qualification but who need to broaden their knowledge.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.