Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML Literature Review Project Self-introduction.

Slides:



Advertisements
Similar presentations
CS-550 Syllabus1 CS-550: Comparative Operating Systems Instructor: Dr. Marius D. Soneru Fall 2001.
Advertisements

CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
ICS 324 Database Systems Second Semester (072) Information & Computer Science Department.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Syllabus (101)
General information CSE 230 : Introduction to Software Engineering
1 CS 491z / CS 791z Topics on Software Engineering Spring 2004 Course Syllabus January 21, 2004.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
1 / 16 CS 790z Seminar on Software Engineering Spring 2003 Syllabus Details January 23, 2003.
Instructor: Dr. Radwan E. Abdel-Aal Office: Tel Web page:
1 EEL 6935: Embedded Systems Seminar. 2 General Information Instructor: Ann Gordon-Ross Office: Benton Office Hours – By appointment.
Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.
ELEC516/10 course_des 1 ELEC516 VLSI System Design and Design Automation Spring 2010 Course Description Chi-ying Tsui Department of Electrical and Electronic.
05/16/001 MRKT 520-MARKETING MANAGEMENT DR. Ugur Yucelt Office Phone: Summer 2002 MW:6:00-9:10 pm Office Hours: MW: 5:00-6:00pm.
Software Engineering II (Spring 2008) Instructor: Instructor:Dr. Damla Turgut Office: Office:450 ENGR 1 Bldg Office Phone: Office Phone:(407)
Course Syllabus January 21, 2014 CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer Science & Engineering.
1 EEL 6935: Embedded Systems Seminar. 2 General Information Instructor: Ann Gordon-Ross Office: Benton Office Hours – By appointment.
ENG3050 Embedded Reconfigurable Computing Systems General Information Handout Winter 2015, January 5 th.
Chapter 1: Introduction to Project Management
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Course Introduction Software Engineering
Department of Computer Science and Information Engineering National Taiwan Normal University Multimedia System Design Spring 2012 Mei-Chen Yeh 2011/02/21.
Syllabus Faculty of Applied Engineering and Urban Planning Civil Engineering Department Lecture - Week 1 2 nd Semester 2008/2009 UP Copyrights 2008 Introduction.
L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Course Guide IS325 Systems Analysis & Design II Ms Fatima Khan Prince Sultan University, College for Women.
CSCD 330 Network Programming Fall/Winter/Spring 2014 Lecture 1 - Course Details.
ECE 1100: Introduction to Electrical and Computer Engineering Wanda Wosik Associate Professor, ECE Dept. Notes 1 Spring 2011 Slides adapted from lectures.
CEN 4010 First Lecture January 9, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
Facility Planning and Material Handling. Today’s Agenda Information on syllabus Office hours Text Grading Exams & Homework Class format Introductory lecture.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
MRKT 370 – PRINCIPLES OF MARKETING FALL 2003 Dr. Ugur Yucelt Office Phone: Class Time: MW: 12:30-1:45 Office hours: MW:2:00-6:00 pm
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Fall 2011 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 30,
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
01 - Course Intro.CSC4071 CSC407F Software Architecture & Design Prof. Penny LP396C
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
Advances in Cloud Computing CIS6930/CIS4930
CSCE 990 Advanced Distributed Systems Seminar Ying Lu 104 Schorr Center
Software Engineering. Overview  Who? ◦ Getting to know me ◦ Getting to know you  What? ◦ Prerequisite knowledge ◦ Content  Why? ◦ Objectives ◦ Job.
CSC4841/6841 Computer Animation Administrative Issues & Course Overview Ying Zhu.
CSC4320/6320 Operating Systems.  Instructor: Xiaolin Hu   Phone:  Office: 25 Park Place Building,
CSE Wireless and Adhoc networks Instructor: Ayman Alharbi Computer Engineering Dept. (Head of dept. ) Why ?
1 CS 425 / 625 Software Engineering Fall 2003 Course Syllabus August 25, 2003.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
1 CS 491z / CS 791z Seminar on Software Engineering Spring 2006 Course Syllabus January 24, 2006.
CSE6339 DATA MANAGEMENT AND ANALYSIS FOR COMPUTATIONAL JOURNALISM CSE6339, Spring 2012 Department of Computer Science and Engineering, University of Texas.
Scott C. Johnson Lecturer Rochester Institute of Technology Spring 2016.
Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML.
Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Welcome to CS 4390/CS5381: Introduction to Formal Methods
Advanced Software Engineering
Lecture 0 Software Engineering Course Introduction
Advanced Software Engineering
EEL 6686: Embedded Systems Seminar
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Princess Nora University Faculty of Computer & Information Systems
Introduction and Overview
System Analysis and Design 2
EE422C Software Design and Implementation II
Software Engineering (Second Year) Dr
CS 2530 Intermediate Computing Dr. Schafer
Princess Nora University Faculty of Computer & Information Systems
System Analysis and Design 2
Presentation transcript:

Advanced Software Engineering

Agenda Syllabus Review of Software Engineering Concepts UML Literature Review Project Self-introduction

CSc 8350 ADVANCED SOFTWARE ENGINEERING  Instructor: Xiaolin Hu   Phone:  Office: 25 Park Place Building, Room 746  Hours: Tuesday/Thursday, 1:00pm - 2:30pm  TAs: Peisheng Wu Office Hour: Tuesday12:30-2:00pm, 25 Park Place Building, Room Prerequisites: CSC 4350/6350 Software Engineering or equivalent  Course Web Page:

Textbooks  Textbook E. Gamma, R. Helm, R. Johnson, J. Vlissides, “Design Patterns”, Addison- Wesley, 1995 The literature  Journals:  ACM Transactions on Software Engineering and Methodology (TOSEM) ACM Transactions on Software Engineering and Methodology (TOSEM)  IEEE Transactions on Software Engineering (TSE) IEEE Transactions on Software Engineering (TSE)  Annals of Software Engineering (Kluwer) Annals of Software Engineering  Automated Software Engineering (Kluwer) Automated Software Engineering  International Journal of Software Engineering and Knowledge Engineering (IJSEKE) (World Scientific) International Journal of Software Engineering and Knowledge Engineering (IJSEKE)  CROSSTALK: The Journal of Defense Software Engineering CROSSTALK: The Journal of Defense Software Engineering  etc.

The course… is not about  Programming  Software Project Development is about  Design  Modeling  Research So, What is modeling?

Credit: Slides from Daniel Westreich Department of epidemiology UNC-Chapel Hill

How is this related to software development? From the design point of view, a software system has two (three) aspects:  Structure (architecture)  Behavior  Data – for data intensive systems The structure and behavior are driven by the function requirement. Given a description of a software system to be developed, such as the software running on you cell phone, how do you develop the software? How do you design the structure/behavior of the software? How are these handled in UML?

Objectives of the Class To enable students to (1) comprehend and appreciate software reuse and design patterns; (2) understand a variety of advanced research topics in software engineering; (3) conduct literature review on specific topics and give professional presentations. (4) learn and employ cutting-edge software engineering tools (e.g., modeling tools, program analysis tools, testing tools) and understand their theoretic and/or methodological foundation

Content of the course The contents of the course are roughly divided into three parts (please refer to the schedule of lectures) 1) Software reuse and design patterns. 2) System modeling and design as exemplified by FSM, Petri net, and Discrete Event System Specification (DEVS). 3) Advanced research topics in software engineering.  For the “advanced topic” part, students will review related literature and present the results to the entire class.  The course will be conducted in a seminar format.

What is DEVS?  DEVS stands for Discrete Event System Specification  The DEVS formalism is based on dynamic systems theory  DEVS allows to develop models in a modular hierarchical fashion  It also supports simulation of models

Grading The course will include 1. Two take-home midterm exams (part I and part II) -- Together 40%. This is broken down as part I: 45%; part II: 55% 2. Literature review on a selected topic of software engineering (includes report and a presentation) -- 32%. This is broken down as 60% presentation, 40% report 3. Hands-on project (includes report and demonstration) -- 18%. This is broken down as 40% demonstration, 60% report 4. attendance – 10% Attendance will be taken randomly and is mandatory for specific announced classes.  Both project and research report are team work with 2 members  Note: the project group and research group may be different.

Advanced Topic Review  Each group has 45 minutes (subject to change) presentation.  Tow types of advanced topic review projects  The first type is research-oriented. It is more like the traditional literature review. The goal is to cover an advanced topic and review the “state of the art” for that topic. For this type, “state of the art” and breadth are crucial.  Examples: The State of the Art in End-User Software Engineering  Examples: Software Engineering in Industrial Automation: State-of- the-Art Review  The second type is learning-oriented. It covers a useful, interesting, and relatively new topic and introduces the topic using well-designed examples to help others to have in-depth understanding of the subject. For this type, depth and understandability are crucial.  Examples: Petri Net Model, Software Testing Techniques

Hands-on Project  Modeling project based on DEVS using the MS4 Me environment (preferred)  Some cutting-edge tools related to software engineering, such as  Program analysis tools  Control flow and dataflow analysis. Example: FindBugsFindBugs  Automated software test tools  E.g., Pex and Moles - Isolation and White box Unit Testing for.NET,  Extreme Programming tools or supporting tools:  E.g., SimSE: An educational software engineering simulation environment (  Cannot be based on the examples provided by the tool. Develop your own project or examples.  The hands-on project may be “extended” from the advanced topic review. But keep in mind that the hands-on project needs to be a concrete, self-contained project.

Sample topics for literature review  Open Source Software  Real-time embedded software, Real-time UML  Software for Smart Mobile Devices (Apps Development)  Software Visualization  Testing and Test Methods  Self-Adaptive software, Autonomy-oriented computation  Reliability and dependability  Verification and validation, Formal methods  Software quality assurance, metrics  Software Architectures  Extreme programming, agile methods  Aspect-oriented programming  Management issues in software development  System specification, requirement specification  Web service and service-oriented architecture (SOA)  Software Engineering Education (note: for whatever topic you choose, you should obtain the general background in the field as well as two or three specific approaches that are being researched)

How to find a topic for reviewing?  Something you are interested in or wondering about.  E.g., I am wondering about how the industry develops Apps for mobile phones…  I am wondering how the cloud computing paradigm is changing the software engineering practices…  Something related to your own work.  State of the art survey-type of papers.  Find papers from the programs of recent software engineering conferences.  As a reference, a list of software engineering topics can be found from ICSE 2016:

Resources (list not complete)  Note: most papers can be accessed through IEEE digital library and/or ACM digital library  IEEE Transactions on Software Engineering  ACM Transactions on Software Engineering Methodology  Springer Software and Systems Modeling  IEEE Software  ICSE, the International Conference on Software Engineering (  ASE, IEEE/ACM International Conference on Automated Software Engineering (  FSE/ESEC, the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE) (  OOPSLA, Object-Oriented Programming, Systems, Languages & Applications, (

Class Rules  No cell phone  No walk in and out in class  No leave earlier  Active participation (instead of passive listening) is strongly encouraged. Due to the nature of this advanced class, the delivery of this class highly depends on your active participation. So please ask questions, respond to my questions, and make comments

Review of Software Engineering Elevator Example

Software Engineering Activities  System specification, requirement specification – functional requirement, non-functional requirement  analysis, use cases, sequence diagram  system design, system architecture  object design, design patterns  implementation, programming language  testing, verification, validation, simulation-based testing, formal methods  software lifecycle model  management issue  modeling and design, FSM, Petri net, DEVS  UML  OO, component-based design, Service-oriented computing

UML  The heart of object-oriented problem solving is the construction of a model  UML stands for Unified Modeling Language  A online tutorial:

What do you have to do right now?  Form a team of 2 members.  Decide your topic for advanced topic review. me your topic by Jan. 27 th.

Self-introduction to help team formation