# start:stop:skip
animals = ['dog', 'bat', 'kitten', 'bunny', 'lizard', 'whale']
# print(sorted(animals))
print(len(animals))
# squares = []
# for value in ran
# EXTERNAL CHARACTERISTICS
# - Adaptabiliprty
# - extent to which system can be used, without modification
# - Accuracy
# - Degree to which it does its job
# - Correctness
# - Degree to which system is free from faults in specification, design, implementation
# - Efficiency
# - Minimal use of system resources - memory, execution time. Quickly noticable
# - Integreity
# - degree to which system prevernts unauthorized or inproper access to programs / data
# - Reliability
# - Asbility to perform required functions under stated conditions
# - Robustness
# - degree to which system continues to function in presence of invalid inputs, encironemntal conditions

# INTERNAL CHARACTERSITICS
# - Portability
# - Ease w / which you can modify a system to operate in different environment
# - Readability
# - How easy it to to read and understand source code. Intention is evident
# - Maintainability
# - east of modifying system to change or add capabilities, improve performance, or correct defects
# - Flexibility
# - Can you stretch it to use for something other that what it was intended for
# - Reusability
# - Ease with which you can use parts in other systems
# - Testability
# - Degree to which you can usinit test to verify that it meets requirments
# - Understandability
# - Ease with which you can comprehend system at both organizational and detailed statement levels . Cohereance of sysstem

# HOW TO IMPROVE SOFTWARE QUALITY
# - External Audits
# - specific tech review, outside pair or eyes
# - Testing Stratetgy
# - Developing good test strategy alongside product requirements, architecture, design
# - Quality Assurance
# -
# - Informal Tech Review
# - Walk thru code w / peers before formal Review
# - Formal Tech Interview
# - Catch issues at lowest - value stae where problem cost is least to correct
# - Engineering Guidelines
# - Guidelines control tech character thru development.
# - Quality Gate
# - Inspection, peer or customer review, audit
# - Use gate to determine if requirements / architecture is good enough to support further development
