Software engineering vs other engineering disciplines

Download Software engineering vs other engineering disciplines

Post on 28-Nov-2014




0 download

Embed Size (px)




<ul><li> 1. Issue Software Engineering Engineering Based on computer science, Based on science, mathematics, and empirical Foundations information science, and knowledge. discrete mathematics. Compilers and computers are cheap, so software engineering In some projects, construction and and consulting are often more manufacturing costs can be high, so than half of the cost of a Cost engineering may only be 15% of the cost of a project. Minor software project. Major engineering cost overruns may engineering cost-overruns can not affect the total project cost. adversely affect the total project cost. Replication (copying CDs or Radically new or one-of-a-kind systems can downloading files) is trivial. require significant development effort to Most development effort goes create a new design or change an existing Replication into building new (unproven) design. Other kinds of systems may require or changing old designs and less development effort, but more attention to adding features. issues such as manufacturability. Engineers generally try to apply known and Software engineers often apply tested principles, and limit the use of untested Innovation new and untested elements in innovations to only those necessary to create a software projects. product that meets its requirements. Software engineers emphasize Some engineers solve long-ranged problems Duration projects that will live for years (bridges and dams) that endure for centuries. or decades. Engineers in some disciplines, such as civil Management Few software engineers engineering, manage construction, Status manage anyone. manufacturing, or maintenance crews. Software engineers must blame Engineers in some fields can often blame Blame themselves for project construction, manufacturing, or maintenance problems. crews for project problems. Practitioners 611,900 software engineers 1,157,020 total non-software engineers </li> <li> 2. in U.S. Software engineering is about Engineering as a whole is thousands of years Age 50 years old. old. Software engineers are In many jurisdictions it is illegal to call typically self-appointed. A yourself an engineer without specific formal Title computer science degree is education and/or accreditation by Regulations common but not at all a formal governmental or engineering association requirement.[ bodies. Some engineering disciplines are based on a closed system theory and can in theory prove Methods for formally verifying formal correctness of a design. In practice, a correctness are developed in lack of computing power or input data can Analysis computer science, but they are make such proofs of correctness intractable, Methodology rarely used by software leading many engineers to use a pragmatic engineers. The issue remains mix of analytical approximations and controversial. empirical test data to ensure that a product will meet its requirements. Engineers have nominally refined synthesis techniques over the ages to provide exactly this. However, this has not prevented some notable engineering failures, such as the SE struggles to synthesize Synthesis collapse of Galloping Gertie (the original (build to order) a result Methodology Tacoma Narrows Bridge), the sinking of the according to requirements. Titanic, and the Pentium FDIV bug. In addition, new technologies inevitably result in new challenges that cannot be met using existing techniques. Traditional engineering nominally separates Software engineering is often these activities. A project is supposed to apply Research busy with researching the research results in known or new clever ways during unknown (e.g. to derive an to build the desired result. However, ground- Projects algorithm) right in the middle breaking engineering projects such as Project of a project. Apollo often include a lot of research into the unknown. Codified Best Software engineering has just Some engineering disciplines have thousands Practice recently started to codify and of years of best practice experience handed </li> <li> 3. over from generation to generation via a field's literature, standards, rules and regulations. teach best practice in the form Newer disciplines such as electronic of design patterns. engineering and computer engineering have codified their own best practices as they have developed. </li> </ul>