|
@@ -0,0 +1,74 @@
|
|
|
+# Software Engineering 2
|
|
|
+###### http://home.deib.polimi.it/arrigoni/ArtificialIntelligence.html
|
|
|
+#### Elisabeta di Nitto
|
|
|
+##### 8 October 2015
|
|
|
+### Course Informations
|
|
|
+Software Engineering 1 was focused more on development *in the small*, while this course is focused more on *in the large* development.
|
|
|
+### Books recommendations
|
|
|
+
|
|
|
+- Sommerville
|
|
|
+- Hans Van Vliet: Software Engineering: principles and practice, 3rd edition
|
|
|
+- Ghezzi Jazayeri, Mandrioli: Ingegneria del software.
|
|
|
+
|
|
|
+##### Check the course forum through beep
|
|
|
+
|
|
|
+###Introduction
|
|
|
+####Why is Software Engineering important?
|
|
|
+Software is everywhere in our society, and developing new software as mantaining legacy software (e.g. Cobol software in banks)
|
|
|
+are skills very important in our society.
|
|
|
+
|
|
|
+Software is also important related to the global telecomunication Infrastructure, which mutually depends on software.
|
|
|
+
|
|
|
+Also in energy applications, and manufactoring systems software has an important role
|
|
|
+
|
|
|
+#####Software can also be used to address problems like:
|
|
|
+- Increasing number of elderly people
|
|
|
+- Climate change.
|
|
|
+ - Reducing the power consumption of the global network
|
|
|
+ - Simulate the effects of global changes.
|
|
|
+- Increasing world population
|
|
|
+- Combating international terrorism
|
|
|
+
|
|
|
+Software Engineering is useful to manage the complexity of software-intensive systems and ensure their reliability.
|
|
|
+
|
|
|
+#####Software whe are dealing with are:
|
|
|
+- large and complex
|
|
|
+- built by teams
|
|
|
+- exist in many version
|
|
|
+- last many Years
|
|
|
+- undergo changes
|
|
|
+
|
|
|
+In general SE have to do with multi-version software of multi-person development.
|
|
|
+
|
|
|
+#### Characteristics of Software Engineering:
|
|
|
+- Systematic approach to development, operation, maintenance, deployment and retirement of software.
|
|
|
+- Prediction of costs and time necessary to develop a new software.
|
|
|
+
|
|
|
+##### Deals with cost-effective solutions to practical problems bu applying scientific knowledge in building software artifacts in the service of the human race.
|
|
|
+
|
|
|
+- Cost-effective
|
|
|
+- practical problema
|
|
|
+- scientific knowledge
|
|
|
+- building things
|
|
|
+- service to the human race
|
|
|
+
|
|
|
+These topics are common with other engineering fields.
|
|
|
+
|
|
|
+##### Programming skills are not enough
|
|
|
+__Programmer__
|
|
|
+- Develops a complete Programmer
|
|
|
+- works on known specifications
|
|
|
+- works individually
|
|
|
+__Software Engineer__
|
|
|
+- Identifies requirements
|
|
|
+- Design a component to be combined with other components
|
|
|
+- Work in teams
|
|
|
+
|
|
|
+####Skills of a software engineer:
|
|
|
+- Technical
|
|
|
+- Project Management
|
|
|
+- Cognitive
|
|
|
+- Enterprise organization
|
|
|
+- Interaction with different cultures
|
|
|
+- Domain knowledge
|
|
|
+- The quality of human resources is of primary importance
|