Syllabus Discussion

advertisement
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
01-12-2009, Monday
CS 8532: Advanced Software Engineering
Dr. Hisham Haddad
Class
will
start
momentarily.
Please Stand By …
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
Technical Aspects of Software Engineering:
Concepts, Methods, and Measurements
Discussion of course syllabus
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
Outline
• Syllabus Discussion
• Course Overview
• Class Project
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
Course Syllabus
• Complete Syllabus is posted on the course webpage at
http://science.kennesaw.edu/~hhaddad/Spring2009/CS8
532/CS8532Syllabus.htm
CS 8532: Adv. Software Eng. – Spring 2009
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)
• 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 2009
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 2009
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 2009
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 2009
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 2009
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).
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
Homework
•
•
•
•
•
•
Review chapters 1, 2, 3, and 4
Refresh your memory of what SE is about
Know why software is dynamic and changes constantly
Understand what a SE process is
Be familiar with SE process models
Read chapter 5 for Wednesday lecture
CS 8532: Adv. Software Eng. – Spring 2009
Dr. Hisham Haddad
Last Slide
End of chapter Lecture.
Download