Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML.

Similar presentations


Presentation on theme: "Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML."— Presentation transcript:

1 Advanced Software Engineering

2 Agenda Syllabus Review of Software Engineering Concepts UML

3 CSc 8350 ADVANCED SOFTWARE ENGINEERING  Instructor: Xiaolin Hu  Email: xhu@cs.gsu.eduxhu@cs.gsu.edu  Phone: 404-463-9857  Office: One Park Tower 1438  Hours: Mon, Wed 10:00-11:30am or by appt  TAs: TBD Prerequisites: CSC 4350/6350 Software Engineering or equivalent  Course Web Page: http://www.cs.gsu.edu/~cscxlh/CSC8350/csc8350.htm http://www.cs.gsu.edu/~cscxlh/CSC8350/csc8350.htm

4 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.

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

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

7 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?

8 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) learn and employ discrete event system specification (DEVS) and understand its relationship to software design and verification; (4) conduct literature research on specific topics and give professional presentations.

9 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 Discrete Event System Specification (DEVS). 3) 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.

10 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

11 Grading The course will include 1. a take-home midterm exam -- 30% 2. a modeling project (includes report and demonstration) -- 30%. This is broken down as 40% demonstration, 60% report 3. Literature review on a selected topic of software engineering (includes report and a presentation) -- 30%. This is broken down as 50% presentation, 50% 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: 1) the project group and research group may be different; 2) A modeling project may have 3 group members if appropriate

12 Some topics for literature research  Real-time embedded software  Real time JAVA, OR Real-time UML  Self-Adaptive software  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)  Model driven Architecture (MDA)  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)

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

14 Class Rules  No cell phone  No walk in and out in class  No leave earlier  Class participation is strongly encouraged, please ask questions, and make comments

15 What do you have to do right now?  Form a team of 2 member  Decide your topic for literature research. Email me your topic before next class (Jan. 22 nd )  Computer/laptop issue

16 Review of Software Engineering Elevator Example

17 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, MDA  SOA

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

19 Self-introduction to help team formation


Download ppt "Advanced Software Engineering. Agenda Syllabus Review of Software Engineering Concepts UML."

Similar presentations


Ads by Google