Course Plan and Syllabus Discussion

advertisement
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Discussion of Course Syllabus
CS 8532: Advanced Software Engineering
Dr. Hisham Haddad
Class
will
start
momentarily.
Please Stand By …
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Technical Aspects of Software Engineering:
Concepts, Methods, and Measurements
Discussion of course syllabus
and
highlight of course content
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Outline
•
•
•
•
Syllabus Discussion
Course Overview
Class Project
Overview of SE
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Course Syllabus
• Complete Syllabus is posted on the course webpage at
http://science.kennesaw.edu/~hhaddad/Spring2007/CS8
532/CS8532Page.htm
• One-page handout emailed to all
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Course Overview - 1
• System Engineering
– The big picture for developing a product, service, or technology
– It includes various elements - Hardware, Software, People, Data,
Procedure, Polices, etc…
– Each element is addressed by appropriate engineer discipline
(such as Software Engineering, chapter 6)
• Requirements Engineering
–
–
–
–
–
–
Concepts and Principles
Gathering system requirements (tasks)
Process to be followed
Analysis principles - partitioning and modeling (use-cases)
Building analysis model
Requirement validations
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Course Overview - 2
• Analysis Models
–
–
–
–
–
Analysis rules
Data modeling: relationship between data objects (ERD)
Flow-oriented analysis: data transformation and flow (DFD)
OO Analysis: classes, relations, messages, behavior
Elements of OOA model: Techniques for OOA model: Usecases, CRC-modeling, Class-Hierarchies
– Behavioral modeling: modeling various states of the system and
transitions between states (STD) (i.e., how the system behaves
in terms of its events)
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Course Overview - 3
• Design Engineering:
– Design process: transition from analysis to design
– Design principles and concepts: abstraction, refinement,
modularity, architecture, structural partitioning, information
hiding, etc…
– Design model: architecture, user interface, component design
• Architectural Design
– Software architecture: what is it and why important
– Data design: data modeling and data structures
– Architectural styles: data-centered, data-flow, layered, callreturn, OO
– Mapping requirements to an architecture: sequence of steps
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Course Overview - 4
• Component-Level Design
– Guidelines and concepts: interfaces, dependency, inheritance,
cohesion, and coupling
– Component construction: sequence of steps
– Structured Programming and design notation (PDL)
• User Interface Design
– Rules and guidelines
– Analysis and design steps
– Design evaluation
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Course Overview - 5
• Software Testing:
– Testing strategies for conventional software: Unit testing,
integration testing (bottom-up, top-down), regression testing
– Testing strategies for OO software: class-level testing, and test
case design
– System testing and debugging
– Testing techniques: whitebox and blackbox, basic path, OO
testing methods.
• Software Metrics
–
–
–
–
–
Software quality: quality factors
Metrics for analysis model
Metrics for design model
Metrics for source code
Metrics for testing and maintenance
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Course Project
• Select a project (system or part of a system) and conduct
software requirements analysis and design, and generate a
report with 3 parts throughout the semester: Project
Development Plan (scope and schedule), Software
Requirements Specification (SRS) and Software Design
Document (SDD).
• Individual or team projects are allowed.
• Please send me your project idea with some explanation of its
purpose and a description of the system to be developed.
• Goal: to apply OOA and OOD concepts and work with a
modeling tool (UML).
• Suggested project ideas will be provided if needed.
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Overview of SE - 1
• What is SE?
• Why software is dynamic and changes constantly?
CS 8532: Adv. Software Eng. – Spring 2007
Dr. Hisham Haddad
Overview of SE - 2
• What is a SE Process?
• What SE process model are available now?
Download