Software Development and Engineering

Table of contents

There are two features which are common to most engineering definitions. The solution of practical problems for the benefit of humankind. The use of scientific and other formalised knowledge to design and build artefacts within economic constraints

Difference between scientists and engineers:

  • Scientific reasoning 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 are 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.

The discipline starts in a state of craft practice: At this stage engineering is carried out by practitioners with little or no formal training and knowledge is acquired during apprenticeship. The second stage is the development of commercial exploitation when pressures arise to make economic use of resources or to increase output. Practice becomes more organised and standard procedures are established. The third stage in development 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 Engineering

Engineering 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 available for their solution. A science-based knowledge engineer will have considerable knowledge of proven procedures and designs which they can reuse where appropriate. An important aspect of this codified knowledge is the ability to learn from failures.

Software Development as Engineering

In the 1950s when high-level programming languages were first being designed and implemented, compiler writing was regarded as difficult.  The development of the first compiler for FORTRAN, completed in early 1957, required 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 very 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 software on a typical computer.

Large-scale projects have always been much more prone to problems or failure than smaller developments, such as compiler implementations, 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.

SABRE, an Airline Reservation System developed for American Airlines. The project delivered about one million lines of code and involved around 400 person-years of effort.  This success is all the more striking because of the lack of supporting software – there were no database systems available at that time, for example.

NASA Space Shuttle

The project involved introducing rigorous control of software development, tracking all changes and errors, and constantly refining the development process to ensure 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 block of flats in London) collapsed 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 suspended walkway which connected hotel floors collapsed causing deaths of 114 people. The failure was due to a combination of design and construction flaws.

Quality and Software Development

In modern industry and business there is enormous concern to try to produce goods and services of high quality. Definition of Quality – ‘The set of characteristics of a product or service which satisfy a customer’s requirements and expectations’. American Joseph Juran, one of the early advocates of quality 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).

Total Quality Management (TQM):

  •  Clearly defining quality in terms of customers’ or consumers’ 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.

Applicable 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 9000

In order to achieve ISO 9000 certification:

  • It has standards against which to measure all aspects of its development practices
  • It has procedures in place to access performance against these standards
  •  Both the standards and the assessment methods used are recognised in the industry

ISO 9000 has been criticised on its particular criteria for introducing too much paperwork and ignoring the importance of continuous improvement.

Capability Maturity Model

This 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. Initial Level-Not stable 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-Measurements obtained from the monitoring of software development are used as a basis for refining and improving the process used. This level is one of continuous improvement.

 Societies for Computing Professionals

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 employers

Professional institutions can be made in two ways:

  • By stature (by passing a law)
  • Royal Charter

The 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)

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 training

Two 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 Engineers

FEANI

FEANI represents the engineering profession at a European level and is made of engineering institutions from 27 countries. It was formed in 1951. Members 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. Computer 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
  • Include a substantial student project which involves the implementation of an application or tool using an engineering-based approach.

Professional Development

BCS has developed the Industry 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 verified training
  • Continuing Professional Development – those who have achieved qualification but who need to broaden their knowledge.

Calculate the price
Make an order in advance and get the best price
Pages (550 words)
$0.00
*Price with a welcome 15% discount applied.
Pro tip: If you want to save more money and pay the lowest price, you need to set a more extended deadline.
We know how difficult it is to be a student these days. That's why our prices are one of the most affordable on the market, and there are no hidden fees.

Instead, we offer bonuses, discounts, and free services to make your experience outstanding.
How it works
Receive a 100% original paper that will pass Turnitin from a top essay writing service
step 1
Upload your instructions
Fill out the order form and provide paper details. You can even attach screenshots or add additional instructions later. If something is not clear or missing, the writer will contact you for clarification.
Pro service tips
How to get the most out of your experience with MyStudyWriters
One writer throughout the entire course
If you like the writer, you can hire them again. Just copy & paste their ID on the order form ("Preferred Writer's ID" field). This way, your vocabulary will be uniform, and the writer will be aware of your needs.
The same paper from different writers
You can order essay or any other work from two different writers to choose the best one or give another version to a friend. This can be done through the add-on "Same paper from another writer."
Copy of sources used by the writer
Our college essay writers work with ScienceDirect and other databases. They can send you articles or materials used in PDF or through screenshots. Just tick the "Copy of sources" field on the order form.
Testimonials
See why 20k+ students have chosen us as their sole writing assistance provider
Check out the latest reviews and opinions submitted by real customers worldwide and make an informed decision.
Business and administrative studies
excellent work
Customer 452773, March 12th, 2023
Business and administrative studies
Excellent job
Customer 452773, March 9th, 2023
Business and administrative studies
perfect
Customer 452773, February 23rd, 2023
Criminal Justice
The paper was not accused of plagiarism and was written very well. I will let you know the grade once it is graded. Thank you
Customer 452671, April 26th, 2021
ACC/543: Managerial Accounting & Legal Aspects Of Business
EXCELLENT JOB
Customer 452773, January 10th, 2024
LEADERSHIP
excellent job
Customer 452773, August 12th, 2023
Business and administrative studies
Thanks
Customer 452773, March 3rd, 2023
Business and administrative studies
excellent job
Customer 452773, March 12th, 2023
Criminal Justice
This has been the greatest help while I am recovering from an illness. Thank your team so much.
Customer 452671, May 2nd, 2021
Leadership Studies
excellent job
Customer 452773, July 28th, 2023
Business and administrative studies
Excellent work ,always done early
Customer 452773, February 21st, 2023
Business and administrative studies
Thank you for your hard work and effort. Made a 96 out of 125 points Lacked information from the rubic
Customer 452773, October 27th, 2023
11,595
Customer reviews in total
96%
Current satisfaction rate
3 pages
Average paper length
37%
Customers referred by a friend
OUR GIFT TO YOU
15% OFF your first order
Use a coupon FIRST15 and enjoy expert help with any task at the most affordable price.
Claim my 15% OFF Order in Chat
Close

Sometimes it is hard to do all the work on your own

Let us help you get a good grade on your paper. Get professional help and free up your time for more important courses. Let us handle your;

  • Dissertations and Thesis
  • Essays
  • All Assignments

  • Research papers
  • Terms Papers
  • Online Classes
Live ChatWhatsApp