Baixe o app para aproveitar ainda mais
Prévia do material em texto
COEN 285 NAME: RICARDO GUIA HOMEWORK 1 This week we have discussed various software engineering issues of process, principles, and people. In this write up, take the time to reflect on the discussions we have had in class and look back at your notes. With the knowledge you have gained so far, answer the following: 1. What if we asserted that software engineering is not an engineering discipline but a discipline of science? Whether you agree or not, defend this assertion. First, we need to define science to assert that software engineering is a discipline of science. We have the following definitions1: • a branch of knowledge or study dealing with a body of facts or truths systematically arranged. • systematic knowledge of the physical or material world gained through observation and experimentation. • any of the branches of natural or physical science. • systematized knowledge in general. • skill, especially reflecting a precise application of facts or principles; proficiency. In Software engineering we have a set of objectives, constraints, steps, and principles. For instance, the software engineering steps (analysis, design, code, and test) demonstrates a process that applies principles (reuse, decomposition, abstraction, modularity, and completeness) to obtain proficiency, better results, and efficiency. Therefore, science has a lot of definitions in common with software engineering, allowing us to assert that software engineering is a science discipline. 1 Definition from http://dictionary.reference.com/browse/science accessed on 09/27/2015 2. Are software engineers really scientists? Why or why not? Software engineers cannot be considered just scientists, but also engineers. Besides the abstraction of the product, they have to create a product that is viable as well. Using the waterfall model we can demonstrate better how engineers and software engineers have characteristics in common. The table below shows the similarity between engineers and software engineers: Engineers Software Engineers Evaluates Analyzes Design Design Build Code Test Test Install Deploy Engineers and software engineers make analysis before start working to avoid time waste. In addition, they design and prototype to have an idea of their final product. Building and coding are related to the physical creation of the product. Another important step is to test. By testing we can a have product with no or minor issues. Engineers they install their equipment like the software engineers deploy them. Therefore, by the definitions that we have, software engineers are real engineers.
Compartilhar