CS3240: Adv. SW Dev. Refactoring and Maintenance
Where we’re heading Towards “the end”, of course Towards maintenance and evolution, to be precise
Design Tradeoffs Design: Identifying alternative solutions that meet the requirements Analyzing these solutions and choosing one, based on… what? Will it work? (Of course) ???
Design Tradeoffs Design: Identifying alternative solutions that meet the requirements Analyzing these solutions and choosing one, based on… what? Will it work? (Of course) Efficiency Flexibility, maintainability Security Usability Others?
Design Tradeoffs and OneDir Being agile, we didn’t do a formal design doc Did you design? Somehow, somewhere Class activity: Groups of 2 or 3, with team members if possible Discuss some design alternatives you saw as you built OneDir Think about why you made a design choice What SW design principles guided (or in retrospect) might have guided your choice Consequences for your final design? Turn in: Brief discussion on these points for one good example among your group’s experience One piece of paper per group, with everyone’s name and ID
SW Security: An Overview
Security CIA: Confidentiality, Integrity, Availability Confidentiality Making sure data only viewable by authorized users Integrity Ensuring accuracy and consistency of data over its entire life-cycle Availability Data and services are available when needed, avoiding single points of failure, etc.
Confidentiality Data at rest, data in transit Encryption Authentication Authorization Your implementation of OneDir? Vulnerabilities Risk modeling, threat assessment
Integrity Hashing Consistency