Download presentation
Presentation is loading. Please wait.
Published byMerilyn Charles Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.