Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University.

Similar presentations


Presentation on theme: "© Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University."— Presentation transcript:

1 © Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University of North Carolina Wilmington _____________________________________________________________

2 2 2 COURSE INTRODUCTION Outline Getting to know you Motivation for Graduate software engineering course Course overview

3 3 3 Getting to Know  You The Man without a Face, oil on panel, 11x14, 2005 – Dae-Woong Nam Name Background Where from Previous school Research interests Development experience Project status

4 4 © Devon M.Simmonds, 2007 Computer science/Information Systems - solving problems with the aid of a computer Artificial intelligence Database management systems Distributed systems Computer graphics Operating systems Software engineering Motivation

5 5 © Devon M.Simmonds, 2007 What is Software Engineering (SE)? Software Engineering is concerned with development of complex systems that are built by teams of developers. SE techniques are not intended for small problems (e.g., writing a program for sorting a list of numbers). On the other hand, SE builds upon programming techniques; a good software engineer must also be a good programmer. SE research focuses on developing mechanisms and methods that help developers manage system complexity.

6 6 © Devon M.Simmonds, 2007 A Definition of SE The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. Bauer/Pressman

7 7 © Devon M.Simmonds, 2007 The Software Lifecycle The process/activities of developing and evolving software Systems Engineering Requirements Analysis Software Design Implementation Testing Deployment Evolution

8 8 © Devon M.Simmonds, 2007 The Software Lifecycle Systems Engineering Identify needs/problems Allocation of roles Hardware Procedures Software Feasibility studies Systems Engineering Requirements Analysis Software Design Implementation Testing Deployment Evolution

9 9 © Devon M.Simmonds, 2007 The Software Lifecycle Requirements Analysis Define goals, objectives, features of target software Requirements Analysis Software Design Implementation Testing Deployment Evolution Systems Engineering Identify needs, problems and allocate roles

10 10 © Devon M.Simmonds, 2007 The Software Lifecycle Software design Creating a blueprint for building the software Architectural design Subsystem design Detailed design Procedural Design User Interface Design Database Design Data Structures Design Test case design Requirements Analysis Software Design Implementation Testing Deployment Evolution Systems Engineering Identify needs, problems and allocate roles Define software features “Up to 70% of all faults detected in large-scale software projects are introduced in requirements and design. Detecting the causes of those faults early may reduce their resulting costs by a factor of 100 or more.”

11 11 © Devon M.Simmonds, 2007 The Software Lifecycle Implementation Creating the finished product – the program Coding Writing code for the classes and operations Generate object code Create Test cases Create user manuals Requirements Analysis Software Design Implementation Testing Deployment Evolution Systems Engineering Identify needs, problems and allocate roles Define software features Create blueprint

12 12 © Devon M.Simmonds, 2007 The Software Lifecycle Testing Determining if the software has errors/fulfils its requirements Test planning Unit testing Subsystem testing Integration testing Regression testing Test case design Requirements Analysis Software Design Implementation Testing Deployment Evolution Systems Engineering Identify needs, problems and allocate roles Define software features Create blueprint Create code

13 13 © Devon M.Simmonds, 2007 The Software Lifecycle Deployment Making the software available for use Deployment/installation planning Develop documentation Hardware configuration Installation Software distribution Training Requirements Analysis Software Design Implementation Testing Deployment Evolution Systems Engineering Identify needs, problems and allocate roles Define software features Create blueprint Create code Uncovering errors

14 14 © Devon M.Simmonds, 2007 The Software Lifecycle Evolution Managing the software Configuration management Controlling change as software evolves Technical support Software lifecycle activities Requirements Analysis Software Design Implementation Testing Deployment Evolution Systems Engineering Identify needs, problems and allocate roles Define software features Create blueprint Create code Uncover errors Make software available for use

15 15 The Software Lifecycle: The Unified Process 15

16 16 © Devon M.Simmonds, 2007 Important Topics In SE Lifecycle phases Analysis, design, etc Research methods in SE Literature review and analysis Model driven software development (MDD) Aspect-oriented design & analysis Component-based software engineering Design patterns in SE Measurement Software processes Software testing Etc.

17 17 © Devon M.Simmonds, 2007 Difficult areas for new SE Graduate Students Scoping research Experimental design Writing!!! Broad understanding of SE Literature review and analysis Model driven software development (MDD) Aspect-oriented design & analysis Software Testing Other topics as time permits A practical case-driven approach What is this Course about?

18 18 © Devon M.Simmonds, 2007 Course Structure Lectures Seminars (1 per student) - One seminar per student on 1 or more research papers Research paper critiques and summaries Written paper and presentation

19 19 © Devon M.Simmonds, 2007 CSC550 Grading COURSE ITEMGRADE PERCENT Research Project30% Midterm Exam20% Homeworks20% Literature reviews10% Final Examination (or Project presentation/Demo) 10% Project proposals & Class Participation10% Grading system 93% or aboveA 80% - 92%B 65% - 79%C 50% - 64%D below 50%F

20 20 © Devon M.Simmonds, 2007 The Research Papers LINK The Research Projects LINK

21 21 Excellence from 550 …… 21

22 22 Excellence from 550 …… Submitted to IJCIS ….. 22

23 23 Excellence from 550 …… In preparation 23

24 24 Research Excellence: Rules to Guide the Supervision Process Always seek feedback from your supervisor before any important decision. Asking persons to serve on your committee. Requesting feedback about your project from the committee (informal feedback is of course allowed). Requesting feedback on your project … a survey instrument, software to be evaluated, etc. © Devon M.Simmonds, 2007

25 25 TheEnd CSC550, Devon M. Simmonds, Computer Science Department, University of North Carolina Wilmington ??????????????? CSC Q u e s t i o n s ?


Download ppt "© Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University."

Similar presentations


Ads by Google