Advanced Software Engineering

Slides:



Advertisements
Similar presentations
General information CSE 230 : Introduction to Software Engineering
Advertisements

CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
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
Teaching Functional Verification – Course Organization Design Automation Conference Sunday, June 9, 2002.
CEN 4010 First Lecture January 9, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
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.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
CSC 411/511: DBMS Design CSC411_L0_OutlineDr. Nan Wang 1 Course Outline.
01 - Course Intro.CSC4071 CSC407F Software Architecture & Design Prof. Penny LP396C
Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML Literature Review Project Self-introduction.
C Programming Lecture 1 : Introduction Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Teaching Functional Verification – Course Organization Design Automation Conference Sunday, June 9, 2002.
Computer Networks CNT5106C
Software Engineering First term Overview Who? Getting to know me Getting to know you What? Prerequisite knowledge Content Why? Objectives.
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 ?
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML.
Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML.
ENG3380 Computer Organization
Advanced Programing practices
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Computer Network Fundamentals CNT4007C
Welcome to CS 4390/CS5381: Introduction to Formal Methods
Advanced Software Engineering
INTERNATIONAL BURCH UNIVERSITY
Course Overview - Database Systems
Computer Engineering Department Islamic University of Gaza
Software Engineering (1)
CSc 1302 Principles of Computer Science II
Course Introduction 공학대학원 데이타베이스
Syllabus Introduction to Computer Science
Advanced Programming Dr. Sadi Seker.
Lecture 0 Software Engineering Course Introduction
CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2007
Computer Networks CNT5106C
CSE305 Software Engineering
EEL 6686: Embedded Systems Seminar
CSc 4350 / CSc 6350 SOFTWARE ENGINEERING Fall, 2005
樣式導向設計 (Pattern-Oriented Design) 課程簡介
Theory and Practice of Web Technology
Welcome to the a Department of Engineering Education !
CPSC 441: Computer Communications
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Princess Nora University Faculty of Computer & Information Systems
CS 201 – Data Structures and Discrete Mathematics I
Computer Networks CNT5106C
Lecture 1: Introduction
ENG3380 Computer Organization
System Analysis and Design 2
EE422C Software Design and Implementation II
Teaching Functional Verification – Course Organization
Nonlinear Dynamic Control Systems
C Programming Lecture 1 : Introduction
CS 2530 Intermediate Computing Dr. Schafer
Term Dr Abdelhafid Bouhraoua
C Programming Lecture 1 : Introduction
Princess Nora University Faculty of Computer & Information Systems
System Analysis and Design 2
Computer Engineering Department Islamic University of Gaza
Term Dr Abdelhafid Bouhraoua
UML Design for an Automated Registration System
Presentation transcript:

Advanced Software Engineering Introduction myself

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

CSc 8350 ADVANCED SOFTWARE ENGINEERING Instructor: Xiaolin Hu Email: xhu@cs.gsu.edu Phone: 404-413-5716 Office: One Park Tower 1438 Hours: Mon, Wed 10:00-11:30am or by appt TAs: Song Guo (guosong1079@hotmail.com), Piyaphol Phoungphol (ppiyaphol@gmail.com) Prerequisites: CSC 4350/6350 Software Engineering or equivalent Course Web Page: http://www.cs.gsu.edu/xhu/CSC8350/csc8350.htm Introducing Two Teaching Assistants

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) IEEE Transactions on Software Engineering (TSE) Annals of Software Engineering (Kluwer) Automated Software Engineering (Kluwer) International Journal of Software Engineering and Knowledge Engineering (IJSEKE) (World Scientific) CROSSTALK: The Journal of Defense Software Engineering etc. 43 41

The course… is not about Programming Software Project Developing is about Design Modeling Research Assuming you know you kind of programming language So, What is modeling?

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

How is this related to software? From the design point of view, a software system has two (three) aspects: Structure (architecture) Behavior Data – for data intensive systems 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 these are handled in UML?

Objectives of the Class To enable students to comprehend and appreciate software reuse and design patterns; understand a variety of advanced research topics in software engineering; learn and employ discrete event system specification (DEVS) and understand its relationship to software design and verification; conduct literature research on specific topics and give professional presentations.

Content of the course The contents of the course are roughly divided into three parts (please refer to the schedule of lectures) Software reuse and design patterns. System modeling and design as exemplified by Discrete Event System Specification (DEVS). Advanced research topics in software engineering. For the “advanced topic” part, students will research 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 A quick demonstration of a DEVS example

Grading The course will include a take-home midterm exam -- 35% Literature review on a selected topic of software engineering (includes report and a presentation) -- 30%. This is broken down as 60% presentation, 40% report a modeling project (includes report and demonstration) -- 25%. This is broken down as 40% demonstration, 60% report 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. 40 38

Some topics for literature research Open Source Software Real-time embedded software, Real-time UML 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) 42 40

Topic Areas for Your Modeling and Simulation Project Network systems: computer network (wired or wireless) Diffusion systems: epidemiology, knowledge spread, technology (product) acceptance, heat diffusion, etc. Workflow systems: Manufactory systems, business process Traffic system Agent systems: artificial agents, mobile agents Other topics related to your own research – strongly encouraged 42 40

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 “success” of a lecture highly depends on your active participation. So please ask questions, respond to my questions, and make comments 42 40

Review of Software Engineering Elevator Example

Software Engineering Topics 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: http://bdn.borland.com/article/0,1410,31863,00.html

Literature Review Project

What do you have to do right now? Form a team of 2 member Decide your topic for literature research. Email me your topic by Jan. 20th Computer/laptop issue 48 46

Self-introduction to help team formation