Computer science | SOFTWARE ENGINEERING
Computer science SOFTWARE ENGINEERING
cod. 0512100019
SOFTWARE ENGINEERING
0512100019 | |
DIPARTIMENTO DI INFORMATICA | |
COMPUTER SCIENCE | |
2013/2014 |
OBBLIGATORIO | |
YEAR OF COURSE 3 | |
YEAR OF DIDACTIC SYSTEM 2008 | |
PRIMO SEMESTRE |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
INF/01 | 6 | 48 | LESSONS | |
INF/01 | 3 | 36 | LAB |
Objectives | |
---|---|
KNOWLEDGE AND UNDERSTANDING: THE GOAL OF THE COURSE IS TO INTRODUCE THE STUDENT TO THE FUNDAMENTALS OF SOFTWARE ENGINEERING. THE MAIN SUBJECTS ARE METHODS, METHODOLOGIES, TECHNIQUES AND TOOLS FOR THE DEVELOPMENT OF SOFTWARE OF MEDIUM/LARGE SIZE. USING THE UML SET OF NOTATIONS THE STUDENT WILL ACQUIRE THE CAPABILITY TO UNDERSTAND AND MANAGE THE WHOLE SOFTWARE LIFE, CYCLE STARTING FROM THE ACTIVITY OF SOFTWARE SPECIFICATION TO THAT OF VERIFICATION AND VALIDATION, FOR THE SOFTWARE UNDER DEVELOPMENT. APPLYING KNOWLEDGE AND UNDERSTANDING: AFTER THE COURSE, THE STUDENT WILL BE ABLE TO DEVELOP A SOFTWARE OF MEDIUM/LARGE SIZE USING AN ENGINEERING APPROACH. THE STUDENT WILL BE INSERTED IN A TEAM CHARGED WITH THE REALIZATION OF A SOFTWARE PROJECT. SHE/HE WILL RECEIVE PART OF A WORK TO DO ACCORDING TO THE TOPICS PRESENTED DURING THE COURSE. HE ALSO WILL LEARN TO BRING BACK TO UNITY THE TASKS THAT THE PROJECT MANAGER HAS DIVIDED AMONG THE TEAM PARTICIPANTS. COMMUNICATION SKILLS: THE STUDENT WILL ACQUIRE PLANNED AND UNPLANNED COMMUNICATION ABILITIES. SHE/HE WILL LEARN SYNCHRONOUS AND ASYNCHRONOUS COMMUNICATION MECHANISMS ALSO, ACQUIRING FAMILIARITY WITH SOFTWARE TOOLS THAT SUPPORT EFFECTIVE COMMUNICATION. MAKING JUDGMENTS: ON THE BASIS OF A PROJECT PLAN, THE STUDENT WILL MAKE JUDGMENTS ABOUT THE COST, TIME AND QUALITY CONSTRAINTS OF THE PRODUCED ARTIFACTS. THROUGH A CONTINUOUS MONITORING ACTIVITY SHE/HE WILL LEARN TO COMPARE THE PROJECT PLAN WITH THE ACTUAL PROJECT PROGRESS TAKING THE APPROPRIATE DECISIONS. LEARNING CAPABILITY: IT WILL APPEAR AS THE CAPABILITY TO IDENTIFY RELEVANT INFORMATION TO ACQUIRE IN ORDER TO DEVELOP APTITUDE FOR PROBLEM SOLVING. |
Prerequisites | |
---|---|
THE STUDENTS MUST KNOW THE FUNDAMENTALS OF ALGORITHMS AND DATA STRUCTURES AND AT LEAST ONE PROCEDURAL AND ONE OBJECT ORIENTED PROGRAMMING LANGUAGE. FURTHERMORE, COMPETENCE IN RELATIONAL DATA BASE MANAGEMENT SYSTEMS IS REQUIRED TOGETHER WITH THE LANGUAGE SQL. EVEN IF NOT STRICTLY NECESSARY, COMPETENCE IN THE USE OF THE PHP PROGRAMMING LANGUAGE WILL BE APPRECIATED. |
Contents | |
---|---|
FUNDAMENTAL CONCEPTS: DEVELOPMENT ACTIVITIES AND ARTIFACTS MANAGING THE SOFTWARE PROJECT PROJECT COMMUNICATION CONCEPTS MODELING WITH UML: DIAGRAMS: USE CASE, CLASS, INTERACTION, STATE MACHINE, ACTIVITY, DEPLOYMENT USE CASE SPECIFICATION ORGANIZING DIAGRAMS WITH PACKAGES DEALING WITH COMPLEXITY: REQUIREMENT ELICITATION FUNCTIONAL AND NONFUNCTIONAL REQUIREMENTS REQUIREMENTS PROPERTIES SOFTWARE ENGINEERING ACTIVITIES THE RAD DOCUMENT ANALYSIS: ENTITY, BOUNDARY AND CONTROL OBJECTS CRC CARDS ANALYSIS ACTIVITIES MANAGING ANALYSIS SYSTEM DESIGN: DECOMPOSING THE SYSTEM REPRESENTING SUBSYSTEMS WITH PACKAGES SUBSYSTEM INTERFACES COUPLING, COHESION, LAYERS AND PARTITIONS SOFTWARE ARCHITECTURES SYSTEM DESIGN: ADDRESSING DESIGN GOALS PROJECT GOALS DEPLOYMENT DIAGRAMS PERSISTENT DATA ACCESS CONTROL GLOBAL CONTROL FLOW BOUNDARY CONDITIONS MANAGING SYSTEM DESIGN WITH THE SDD DOCUMENT OBJECT DESIGN: INTERFACE SPECIFICATION, TYPES, SIGNATURES AND VISIBILITY CONTRACTS: INVARIANTS, PRECONDITIONS AND POSTCONDITIONS THE LANGUAGE OCL (HINT) INTERFACE SPECIFICATION ACTIVITIES THE DOCUMENT ODD MAPPING MODELS TO CODE: MODEL TRANSFORMATIONS REFACTORING FORWARD ENGINEERING REVERSE ENGINEERING MAPPING ACTIVITIES MANAGING IMPLEMENTATION TESTING: TESTING CONCEPTS TESTING ACTIVITIES: INSPECTION, USABILITY, UNIT, INTEGRATION, SYSTEM INTEGRATION TESTING: BOTTOM UP AND TOP DOWN STRATEGIES PLANNING AND MANAGING TESTING |
Teaching Methods | |
---|---|
THE SOFTWARE ENGINEERING COURSE PROPOSES 48 HOURS OF LECTURE AND 36 HOURS OF LABORATORY ACTIVITIES. THE STUDENTS WILL BE ORGANIZED IN TEAM WORK ASSIGNING TO EACH TEAM A SOFTWARE PROJECT TO DEVELOP. TO SUBSTAIN THE LEARNING PROCESS A KNOWLEDGE MANAGEMENT SYSTEM WILL BE USED TO TRANSFER AND SHARE DIDACTICAL MATERIAL, PROJECT DELIVERABLES AND PRACTICAL EXPERIENCES. |
Verification of learning | |
---|---|
THE FIRST VERIFICATION ACTIVITY IS DONE AT EACH PROJECT MILESTONE, WHEN THE MAIN PROJECT DELIVERABLE WILL BE PRODUCED. THE EXAM WILL CONSIST OF A WRITTEN TEST (SCORE: 20) AND OF DISCUSSION ABOUT THE SOFTWARE PROJECT DEVELOPED DURING THE COURSE (SCORE: 10) |
Texts | |
---|---|
1. BERND BRUEGGE, ALLEN H. DUTOIT “OBJECT-ORIENTED SOFTWARE ENGINEERING USING UML, PATTERNS AND JAVA” - THIRD ED. - PEARSON, 2010. (CAP. DA 1 A 7 INCLUSO, 9, 10, 11, 14 E 15). 2. IAN SOMMERVILLE “SOFTWARE ENGINEERING” NINTH ED., ADDISON WESLEY, 2011. (CAP. 1 E 22) 3. SLIDE AND COURSE NOTES |
More Information | |
---|---|
THE REFERENCES WILL BE INTEGRATED WITH COURSE NOTES AND DIDACTIC MATERIAL ESPECIALLY WITH RESPECT TO THE SOFTWARE SYSTEMS USED DURING THE PRACTICAL EXERCISES EMAIL CONTACT: NOTA@UNISA.IT |
BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2016-09-30]