International Teaching | SOFTWARE ARCHITECTURE DESIGN
International Teaching SOFTWARE ARCHITECTURE DESIGN
Back
cod. 0623200022
SOFTWARE ARCHITECTURE DESIGN
0623200022 | |
DEPARTMENT OF INFORMATION AND ELECTRICAL ENGINEERING AND APPLIED MATHEMATICS | |
EQF7 | |
INFORMATION ENGINEERING FOR DIGITAL MEDICINE | |
2024/2025 |
OBBLIGATORIO | |
YEAR OF COURSE 1 | |
YEAR OF DIDACTIC SYSTEM 2022 | |
SPRING SEMESTER |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
ING-INF/05 | 4 | 32 | LESSONS | |
ING-INF/05 | 1 | 8 | EXERCISES | |
ING-INF/05 | 1 | 8 | LAB |
Objectives | |
---|---|
THE COURSE PRESENTS THE MODELS, ARCHITECTURES, METHODS AND TOOLS FOR THE DESIGN, IMPLEMENTATION AND PROJECT MANAGEMENT OF LARGE SOFTWARE SYSTEMS, AND THE MAIN PROCESSES INVOLVED IN THE SOFTWARE LIFE CYCLE OF SUCH SYSTEMS. KNOWLEDGE AND UNDERSTANDING KNOWLEDGE OF THE SOFTWARE PRODUCTION PROCESS AND RELATED ACTIVITIES, WITH REFERENCE TO LARGE SOFTWARE SYSTEMS. KNOWLEDGE OF AGILE SOFTWARE PRODUCTION METHODS. KNOWLEDGE OF THE MAIN DESIGN PATTERNS. INTRODUCTION TO THE MAIN ARCHITECTURES USED FOR LARGE SOFTWARE SYSTEMS. UNDERSTANDING OF ANALYSIS AND PROJECT DOCUMENTS IN STANDARD FORMATS. TOOLS AND METHODS FOR PROJECT MANAGEMENT. METHODOLOGIES FOR ESTIMATING SOFTWARE PROJECTS. APPLYING KNOWLEDGE AND UNDERSTANDING KNOWING HOW TO PARTICIPATE IN AND MANAGE A PROJECT FOLLOWING A FORMALISED SOFTWARE PRODUCTION PROCESS. KNOWING HOW TO DESIGN A SOFTWARE SYSTEM, BOTH AT THE ARCHITECTURAL AND DETAIL LEVEL USING THE MAIN DESIGN PATTERNS; KNOWING HOW TO EXPRESS REQUIREMENTS ANALYSIS AND DESIGN CHOICES USING STANDARD REPRESENTATION FORMATS. |
Prerequisites | |
---|---|
IN ORDER TO ACHIEVE THE GOALS OF THE COURSE, A KNOWLEDGE OF THE JAVA LANGUAGE, OF OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING PRINCIPLE IS RECOMMENDED. |
Contents | |
---|---|
LEARNING UNIT 1: (HOURS OF LECTURES/EXERCISES/LABORATORY 6/2/0) - 1 (2 HOURS LESSON): INTRODUCTION TO THE COURSE AND RECALL OF THE SW LIFE CYCLE. - 2 (4 HOURS LESSON): SCRUM - 3 (2 HOURS EXERCISE): EXERCISE ON THE SCRUM PROCESS KNOWLEDGE AND UNDERSTANDING SKILLS: THE PRINCIPLES UNDERLYING THE SCRUM PROCESS. APPLIED KNOWLEDGE AND UNDERSTANDING SKILLS: USING SCRUM TO PRODUCE A SOFTWARE SYSTEM. LEARNING UNIT 2: SOFTWARE ESTIMATION TECHNIQUES (LESSON HOURS/EXERCISE/LABORATORY 4/2/0) - 4 (2 HOURS LECTURE): FUNCTIONAL AND DIMENSIONAL METRICS - 5 (2 HOURS LECTURE): ESTIMATION TECHNIQUES: FUNCTION POINT, COCOMO AND OBJECT POINT - 6 (2 HOURS EXERCISE): EXERCISE ON ESTIMATION TECHNIQUES KNOWLEDGES AND UNDERSTANDING SKILLS: MAIN METHODS OF ESTIMATING RESOURCES AND TIME FOR THE REALIZATION OF SOFTWARE SYSTEMS APPLIED KNOWLEDGE AND UNDERSTANDING SKILLS: APPLY TECHNIQUES FOR ESTIMATING THE EFFORT FOR THE REALIZATION OF A SOFTWARE SYSTEM LEARNING UNIT 3: DESIGN AND ARCHITECTURAL STYLE PATTERNS (HOURS OF LECTURES/EXERCISES/LABORATORY 14/6/0) - 7 (4 HOURS LECTURE): CREATIONAL DESIGN PATTERNS - 8 (2 HOURS EXERCISE): EXERCISE ON CREATIONAL DESIGN PATTERNS - 9 (4 HOURS LECTURE): STRUCTURAL DESIGN PATTERNS - 10 (2 HOURS EXERCISE): EXERCISE ON STRUCTURAL DESIGN PATTERNS - 11 (4 HOURS LECTURE): BEHAVIORAL DESIGN PATTERNS - 12 (2 HOURS EXERCISE): EXERCISE ON BEHAVIORAL DESIGN PATTERNS - 13 (2 HOURS LECTURE): ARCHITECTURAL STYLE PATTERNS KNOWLEDGE AND UNDERSTANDING: THE FUNDAMENTAL CREATIONAL, STRUCTURAL BEHAVIORAL AND ARCHITECTURAL DESIGN PATTERNS. APPLIED KNOWLEDGE AND UNDERSTANDING: USING PATTERNS TO SOLVE RECURRING DESIGN PROBLEMS AND TO COMMUNICATE DESIGN DECISIONS. LEARNING UNIT 4: PROJECT WORK (HOURS OF LECTURES/EXERCISES/LABORATORY 0/0/12) - 20 (2 HOURS LABORATORY): PROBLEM DESCRIPTION. PRESENTATION OF THE TOOLS AND METHODOLOGIES TO BE USED. - 21 (2 HOURS LABORATORY): PRE-GAME: INITIAL USER-STORY DEFINITION. - 22 (2 HOURS LABORATORY): FIRST SPRINT. - 23 (2 HOURS LABORATORY): SECOND SPRINT. - 25 (4 HOURS LABORATORY): FINAL PRESENTATION KNOWLEDGE AND UNDERSTANDING: APPLIED KNOWLEDGE AND UNDERSTANDING: DEVELOPING A COMPLETE SOFTWARE PROJECT IN A TEAM FOLLOWING THE SCRUM PROCESS AND APPLYING DESIGN PATTERNS. TOTAL HOURS LECTURES/EXERCISES/LABORATORY: 26/10/12 |
Teaching Methods | |
---|---|
THE COURSE CONTAINS THEORETICAL LECTURES (26 HOURS), IN-CLASS EXERCITATIONS (10 HOURS) AND PRACTICAL LABORATORY EXERCITATIONS (12 HOURS). DURING THE IN-CLASS EXERCITATIONS THE STUDENTS ARE DIVIDED IN TEAMS AND ARE ASSIGNED A PROJECT TO BE DEVELOPED ALONG THE DURATION OF THE COURSE. THE PROJECT INCLUDES ALL THE CONTENTS OF THE COURSE AND IS ESSENTIAL BOTH FOR THE ACQUISITION OF THE ABILITY TO DESIGN AND IMPLEMENT A SOFTWARE SYSTEM STARTING FROM A SPECIFICATION, AND FOR DEVELOPING AND REINFORCING THE ABILITY TO WORK IN A TEAM. IN THE LABORATORY EXERCITATIONS THE STUDENTS WILL USE SOFTWARE TOOLS FOR THE AUTOMATION OF TESTS, AND FOR REVISION CONTROL. IN ORDER TO PARTICIPATE TO THE FINAL ASSESSMENT AND TO GAIN THE CREDITS CORRESPONDING TO THE COURSE, THE STUDENT MUST HAVE ATTENDED AT LEAST 70% OF THE HOURS OF ASSISTED TEACHING ACTIVITIES. |
Verification of learning | |
---|---|
THE EXAM AIMS AT EVALUATING, AS A WHOLE: THE KNOWLEDGE AND UNDERSTANDING OF THE CONCEPTS PRESENTED IN THE COURSE, THE ABILITY TO APPLY THAT KNOWLEDGE TO SOLVE PROBLEMS OF DESIGN AND IMPLEMENTATION OF SOFTWARE SYSTEMS, INDEPENDENCE OF JUDGMENT, COMMUNICATION SKILLS AND THE ABILITY TO LEARN. THE EXAM INCLUDES THE DISCUSSION OF A PROJECT WORK, DEVELOPED DURING THE COURSE, AIMED AT EVALUATION OF THE ABILITY TO APPLY KNOWLEDGE, TO WRITE A TECHNICAL REPORT, THE INDEPENDENCE OF JUDGMENT, THE ABILITY TO WORK IN A TEAM, AND AN ORAL INTERVIEW, THE PURPOSE OF WHICH IS TO ASSESS THE ACQUIRED KNOWLEDGE AND ABILITY TO UNDERSTANDING, THE ABILITY TO LEARN, ORAL PRESENTATION. THE PROJECT WORK IS A SMALL SOFTWARE PROJECT (ASSIGNED BY THE TEACHER) DEVELOPED IN TEAM, IN WHICH THE STUDENTS HAVE TO PERFORM AND DOCUMENT ALL THE ACTIVITIES IN THE SOFTWARE LIFE CYCLE USING SCRUM. THE ORAL EXAMINATION WILL COVER THE THEORETICAL TOPICS OF THE COURSE AND ASSESSMENT WILL TAKE INTO ACCOUNT THE KNOWLEDGE DEMONSTRATED BY THE STUDENT AND THE DEGREE OF ITS DEPTH, PROVEN ABILITY TO LEARN, THE QUALITY OF THE PRESENTATION. IN THE FINAL EVALUATION, EXPRESSED IN THIRTIETHS, THE EVALUATION OF THE PROJECT WORK WILL ACCOUNT FOR 40% WHILE THE INTERVIEW FOR 60%. THE CUM LAUDE MAY BE GIVEN TO STUDENTS WHO DEMONSTRATE THAT THEY CAN APPLY THE KNOWLEDGE AUTONOMOUSLY EVEN IN CONTEXTS OTHER THAN THOSE PROPOSED IN THE COURSE. |
Texts | |
---|---|
GAMMA, HELM, JOHNSON, VLISSIDES: “DESIGN PATTERNS”, PEARSON EDUCATION SUGGESTED READING: HEAD FIRST DESIGN PATTERNS: BUILDING EXTENSIBLE AND MAINTAINABLE OBJECT-ORIENTED SOFTWARE - 2ND EDITION DI ERIC FREEMAN, ELISABETH ROBSON - O'REILLY MEDIA, 2020 SUPPLEMENTARY TEACHING MATERIAL WILL BE AVAILABLE ON THE UNIVERSITY E-LEARNING PLATFORM (HTTP://ELEARNING.UNISA.IT) ACCESSIBLE TO STUDENTS USING THEIR OWN UNIVERSITY CREDENTIALS. |
More Information | |
---|---|
The course is held in English. |
BETA VERSION Data source ESSE3