CS5103 Software Engineering
-
Upload
whitney-wolf -
Category
Documents
-
view
24 -
download
1
description
Transcript of CS5103 Software Engineering
CS5103 Software
Engineering
Lecture 18Security Issues in Software Engineering & Final Exam
2
Mid-term Exam II
Time: Dec 1th 6:00pm to 7:15pm
Location: NPB 1.226
Form: closed book exam 100 points total
Account for 20% for the course grade
8 multiple choice questions * 6 points each: single answer
2 multiple choice questions * 8 points each: multiple answers
2 Question & Answer, 36 points in total
3
Covered Course Contents
Must * It is for sure that this knowledge point will be
covered in the final exam
May ? This knowledge point may be covered in the
final exam
Not mentioned in this outline The final exam will not cover this knowledge
point
4
Software process models
Features of Agile software development & Extreme programming ?
Major difference between these models ?
5
Requirement Engineering
Find Stake Holders ? Type of Requirements ? Major requirement elicitation
approaches ?
6
System Modeling
Class Diagram? Relationship between classes ?
Generalization, Aggregation, Composition, Association and their difference ?
7
Software Architecture
Major software architecture styles? Pipe and Filter ?
Layered ?
8
Software Design
Design Patterns ? Structure and Types ?
9
Versioning
Conflict ? Know how to detect conflict ?
Branch ? Know how to merge branches by applying
diffs ?
Branch strategies and their pros / cons ?
10
Software licences
Know major software licenses ? GPL, LGPL, Apache, BSD, …
11
Coding Styles
Coding style rules for all levels ? Identifier / constant ?
Expression ?
Statements ?
Blocks ?
Comments ?
Finding coding style errors in given code ? Understand the goal and concept of
software refactoring ?
12
Software Testing
Concepts and terms in software testing * Test case, Test suite, Test oracle, …
Unit Testing * Working process of JUnit ?
What are good ways to write assertions ?
What are good ways to do the tearing down ?
13
Software Testing
Test coverage * Understand statement coverage,
branch coverage and path coverage, and calculate coverage for a given test case and code*
14
Software Static Detection
Three types of Specifications*
Approaches to Check Specifications? Symbolic Execution, Model Checking, Graph
Traversal
Difference between findbugs and traditional detection tools*
15
Software Debugging
Delta debugging* Understand how basic delta debugging
works ?
Know how to handle interference and multiple interference ?
Understand the limitations of delta debugging ?
Statistical debugging? How to compute suspiciousness of code?
16
Thanks!