SOFTWARE ENGINEERING

Gennaro COSTAGLIOLA SOFTWARE ENGINEERING

0512100019
DIPARTIMENTO DI INFORMATICA
COMPUTER SCIENCE
2014/2015



OBBLIGATORIO
YEAR OF COURSE 3
YEAR OF DIDACTIC SYSTEM 2008
PRIMO SEMESTRE
CFUHOURSACTIVITY
648LESSONS
330LAB


Objectives
THE GOAL OF THIS COURSE IS TO INTRODUCE THE STUDENT TO THE SOFTWARE ENGINEERING CONCEPTS WITH RESPECT TO METHODOLOGIES, METHODS, TECHNIQUES AND TOOLS FOR THE DEVELOPMENT OF COMPLEX SOFTWARE SYSTEMS.
Prerequisites
THE STUDENT MUST KNOW THE FUNDAMENTALS OF ALGORITHMS AND DATA STRUCTURES AND HOW TO IMPLEMENT THEM WITH A PROGRAMMING LANGUAGE. SKILL ABOUT DATA BASE AND THE SQL LANGUAGE IS ALSO REQUIRED.
Contents
CONTENTS:
FUNDAMENTAL CONCEPTS.
THE DEFINITION OF SOFTWARE; DEVELOPMENT ACTIVITIES AND ARTIFACTS; SOFTWARE LIFE CYCLE; COMMUNICATION MANAGEMENT; MODELING WITH UML.
DEALING WITH COMPLEXITY.
REQUIREMENTS ELICITATION; FUNCTIONAL AND NONFUNCTIONAL REQUIREMENTS; REQUIREMENTS ELICITATION ACTIVITIES; OBJECT-ORIENTED ANALYSIS; THE REQUIREMENTS ANALYSIS DOCUMENT (RAD); MANAGING ANALYSIS;
SYSTEM DESIGN.
SYSTEM DESIGN CONCEPTS; SUBSYSTEMS AND CLASSES; SERVICES AND INTERFACES; COUPLING, COHESION, LAYERS AND PARTITIONS; SYSTEM DESIGN ACTIVITIES; IDENTIFYING AND ADDRESSING DESIGN GOALS; PATTERNS; ARCHITECTURAL STYLES; THE SYSTEM DESIGN DOCUMENT (SDD).
OBJECT DESIGN.
INTERFACE SPECIFICATION; CONTRACTS: INVARIANTS, PRECONDITIONS AND POSTCONDITIONS; FUNDAMENTAL CONCEPTS OF OCL; INTERFACE SPECIFICATION ACTIVITIES; MANAGING OBJECT DESIGN.
MAPPING MODELS TO CODE.
MAPPING CONCEPTS; MODEL TRANSFORMATION; TRANSFORMATION PRINCIPLES; MAPPING ACTIVITIES; MANAGING IMPLEMENTATIONS.
TESTING.
TESTING CONCEPTS; TEST CASES; TEST STUB AND DRIVERS; TESTING ACTIVITIES; UNIT TESTING; SYSTEM TESTING; TESTING STRATEGIES: BOTTOM UP, TOP DOWN AND SANDWICH; MANAGING TESTING.
Teaching Methods
THIS COURSE WILL TAKE INTO ACCOUNT BOTH THEORETICAL PERSPECTIVE AND PRACTICAL EXPERIENCE. AS SOFTWARE ENGINEERING IS AN INTERDISCIPLINARY FIELD, SEVERAL POINTS OF VIEWS WILL BE DISCUSSED TRYING TO TAKE INTO ACCOUNT THE PERSPECTIVES OF ALL OF STAKEHOLDERS INVOLVED IN THE SOFTWARE DEVELOPMENT PROCESS. SCENARIOS WILL BE DISCUSSED IN ORDER TO SIMULATE REAL WORLD APPLICATION DOMAINS. STUDENTS WILL BE ORGANIZED IN GROUPS AND TO EACH GROUP WILL BE ASSIGNED A PROJECT TO DEVELOP IN THE CONTEXT OF A PROPOSED SCENARIO.
Verification of learning
THE LEARNING PROGRESS OF STUDENTS WILL BE VERIFIED STARTING AS SOON AS THEY WILL PRODUCE THE REQUIRED ARTIFACTS. THE FINAL EXAM CONSISTS OF A WRITTEN TEST AND THE DISCUSSION OF THE OUTPUT RELEASED DURING THE PROJECT DEVELOPMENT.
Texts
B. BRUEGGE, A. H. DUTOIT “OBJECT ORIENTED SOFTWARE ENGINEERING USING UML, PATERNS AND JAVA” – THIRD ED. PEARSON, 2010 (CAP 1,..,7; CAP 9,10,11,14 AND 15)
I. SOMMERVILLE “SOFTWARE ENGINEERING” NINTH ED. ADDISON WESLEY, 2011. (CAP. 1 AND 22)
COURSE MATERIAL.
More Information
THE COMMUNICATION "TEACHER-STUDENTS" WILL BE SUPPORTED BY THE KNOWLEDGE MANAGEMENT SYSTEM "KNOWLEDGE TREE":
WWW.KTREE.UNISA.IT
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2016-09-30]