The University of 1
Software Design and
Copyright By PowCoder代写 加微信 powcoder
Construction 1
SOFT2201 / COMP9201
Introduction to Software
Construction & Design
School of Computer Science
The University of 2
Copyright Warning
COMMONWEALTH OF AUSTRALIA
Copyright Regulations 1969
This material has been reproduced and communicated to
you by or on behalf of the University of Sydney
pursuant to Part VB of the Copyright Act 1968 (the
The material in this communication may be subject
to copyright under the Act. Any further copying or
communication of this material by you may be the
subject of copyright protection under
Do not remove this notice.
The University of 3
– Workplace Health and Safety
– Unit of Study Overview
– Software Engineering
– Software Modeling
– The Unified Process
The University of 4
WHS Induction
The University of 5
Keeping our campus COVID safe
– The University is following NSW Government and NSW Health guidance as a
minimum standard in our response to the COVID-19 pandemic.
– NSW Government restrictions can change at short notice.
– Check your student email for updates about University operations and COVID safety
precautions.
– Visit our website: sydney.edu.au/covid-19
The University of 6
Follow COVID safety precautions
The University of 7
Feeling unwell?
– Stay at home
– if you are feeling unwell with any COVID-19 symptoms
– If you have been directed to self-isolate
– Get tested
– If you are feeling unwell with COVID-19 symptoms, please get tested as soon as possible
– Did you test positive?
Yes? If you have visited campus within the infectious period, i.e. 72 hours before taking the test,
you must advise the University via:
– email or
– call +61 2 9351 2000 (select option 1)
– Stay informed
– Monitor the list of confirmed COVID case locations on campus page to check for potential
exposure and follow NSW Health isolation and testing requirements.
https://www.sydney.edu.au/covid-19/health-safety/confirmed-covid-case-locations-on-campus.html
https://www.health.nsw.gov.au/Infectious/factsheets/Pages/people-exposed-to-covid.aspx
The University of 8
COVID-19 support and care
– Most large lectures will be delivered online and accommodations will be made for
international students who have not yet returned to Australia.
– If you become infected with COVID-19 during the semester, or need to isolate, please
notify your unit of study coordinator, as with any unexpected absence.
– If COVID-19 isolation or illness impacts assessment, use the usual mechanisms, for
example, special consideration to arrange reasonable adjustments.
Visit https://www.sydney.edu.au/covid-19/students/study-information/test-exams-
assessment.html#consideration.
– Further information on student support can be found on the University website
at https://www.sydney.edu.au/students/support.html
– Other helpful study information can be found on the website
at https://www.sydney.edu.au/covid-19/students/study-information.html.
https://www.sydney.edu.au/covid-19/students/study-information/test-exams-assessment.html#consideration
https://www.sydney.edu.au/covid-19/students/study-information.html
The University of 9
Emergency procedures (on campus)
– In the unlikely event of an emergency, we may need to evacuate the building.
– If we need to evacuate, we will ask you to take your belongings and follow the
green exit signs.
– We will move a safe distance from the building and maintain physical distancing
whilst waiting until the emergency is over.
– In some circumstances, we might be asked to remain inside the building for our own
safety. We call this a lockdown or shelter-in-place.
– More information is available at www.sydney.edu.au/emergency.
The University of 10
Tips for students learning online
– Remember that you are still in a space with other students.
– Mute your microphone when not speaking.
– Use earphones or headphones – the mic is better and you’ll disturb others less.
– If you have a webcam, please switch it on so we can see you, if you are comfortable
– Try not to talk over someone else.
– Some classes may use breakout rooms – engaging fully in these is a great way to
meet classmates and your teachers.
– Help your teachers know you’re there by participating in chat, polls and other
activities during class – we’re all in this together.
The University of 11
Tips for learning online
– For tips and guides on learning online and the tools you will use, refer to
Learning while off campus resources in Canvas. This is especially useful if it’s
your first time learning online at university.
https://canvas.sydney.edu.au/courses/4901/pages/learning-while-off-campus
The University of 12
Assistance
– There are a wide range of support services available for students
– e.g., http://sydney.edu.au/study/academic-support/disability-support.html
– it is advisable to do this as early as possible
– Please make contact, and get help
– You are not required to tell anyone else about this
– If you are willing to inform the unit coordinator, they may be able to work
with other support to reduce the impact on this unit
– eg provide advice on which tasks are most significant
The University of 13
Special Consideration (University policy)
– If your performance on assessments is affected by illness or misadventure
– Follow proper bureaucratic procedures
– Have professional practitioner sign special USyd form
– Submit application for special consideration online, upload scans
– Note you have only a quite short deadline for applying
– http://sydney.edu.au/current_students/special_consideration/
– Also, notify coordinator by email as soon as anything begins to go wrong
– There is a similar process if you need special arrangements, e.g., for
religious observance, military service, representative sports
The University of 14
Academic Integrity (University policy)
– “The University of Sydney is unequivocally opposed to, and intolerant of,
plagiarism and academic dishonesty.”
– Academic dishonesty means seeking to obtain or obtaining academic advantage for oneself or for
others (including in the assessment or publication of work) by dishonest or unfair means.
– Plagiarism means presenting another person’s work as one’s own work by presenting, copying or
reproducing it without appropriate acknowledgement of the source.” [from site below]
– http://sydney.edu.au/elearning/student/EI/index.shtml
– Submitted work is compared against other work (from students, internet, etc)
– Turnitin for textual tasks (through eLearning), other systems for code
– Penalties for academic dishonesty or plagiarism can be severe
– Complete self-education AHEM1001 (required, canvas à assessment info)
The University of 15
What is academic dishonesty?
The following are some behaviours that are academically dishonest:
– Plagiarism (this is the most common form)
– Collusion or illegitimate co-operation
– Recycling (using your own work from previous assessments)
– Cheating, including contract cheating
§ sharing questions or accessing solutions on online “help sites”
§ receiving coaching from a private tutoring company on how to complete an
assignment
§ asking someone else to write your assignment (for payment or not)
– Exam cheating (using prohibited materials, working with others)
– Fabrication or falsification of sources, data or results
The University of 16
What are the consequences?
– The University has strong mechanisms for detection of potential academic
dishonesty.
– Suspected breaches are reported to the faculty educational integrity team for
investigation.
– The University is deeply committed to ensuring the integrity of its educational
programs and treats integrity breaches seriously. As a result, the academic
consequences for cheating are numerous.
– You may:
– need to resubmit a task with a mark penalty or
– receive a 0 for the assessment or even the unit of study
– be suspended or even excluded from your studies for serious misconduct
The University of 17
Unit of Study Overview
The University of 18
Prerequisites
– This course has the following prerequisites:
– INFO1113 OR INFO1103 OR INFO1105 OR INFO1905
– This means that we expect students who enroll in this course to be:
– Confident Java programmers
– Familiar with data-structures
– Prohibitions
– INFO3220 OR COMP9201 (for SOFT2201 students)
– INFO3220 OR SOFT2201 (for COMP9201 students)
The University of 19
SOFT2201/COMP9201 Lectures
– Online Lecture:
– Monday, 2pm to 4pm (AEST), Zoom (w1 to w13)
– When you have questions during lectures:
– if questions are public, feel free to type them on zoom chat and I will read and answer them
during the lecture
– if questions are private, please take a quick note and post it on Ed forum in private mode
after lecture. I will then answer your private questions there
– How you are suggested to use the Zoom chat:
– Highly appreciate it that you use the Zoom chat only for the lecture related stuff
The University of 20
SOFT2201/COMP9201 Tutorials
– Tutorial:
– 2h tutorial, hybrid mode, from Tuesdays to Fridays (w2 to w13)
– Check your timetable
• Attend ONE (go to the tutorial you’re scheduled for)
– Great opportunity for interactive and hands-on practical exercises
• Tutors to supervise your learning and provide guidance
• Not to debug your code, or solve the problems for you
– Respect your tutors and value their feedback
– Respect your classmates
The University of 21
SOFT2201/COMP9201 Staff
Course Coordinator and Lecturer:
– Dr. Xi Wu
– Consultation: Monday, 4pm to 5pm (AEST), the same Zoom link for lectures
Tutor allocation can be found via Staff and Contact Details on canvas
Hetush Gupta
https://canvas.sydney.edu.au/courses/44948/pages/staff-and-contact-details
The University of 22
Language and Tools
– Your coding will be in Java 17
– You will use IntelliJ (2022.1) for writing your code
– You will use JavaFX for designing your GUIs
– You will use supporting tools such as Gradle, Git, etc.
The University of 23
SOFT2201/COMP9201 Resources
– Canvas (eLearning)
– Announcements (important)
– Modules: Copies of lecture slides, Tutorial instructions
– Assignments: Assignment instructions
– Recorded Lecturers
• Lecture recordings (usually upload after 1~2 hours of the live lectures)
– Zoom: Live lectures and tutorials
• The best place to ask technical questions about the course.
• You will get faster answers here from staff and peers than through email.
• You can also ask private questions in the private mode
The University of 24
Main Resources
• We recommend the following textbooks
Link to USYD Library Link to USYD Library
https://sydney.primo.exlibrisgroup.com/discovery/fulldisplay?docid=alma991031515434805106&context=L&vid=61USYD_INST:sydney&lang=en&search_scope=MyInst_and_CI&adaptor=Local%20Search%20Engine&tab=Everything&query=any,contains,design%20patterns%20ele
https://sydney.primo.exlibrisgroup.com/discovery/fulldisplay?docid=proquest37705939&context=PC&vid=61USYD_INST:sydney&lang=en&search_scope=MyInst_and_CI&adaptor=Primo%20Central&tab=Everything&query=any,contains,applying%20uml%20and%20patterns&offs
The University of 25
Additional Resources
• We recommend the following textbooks
Link to USYD Library Link to USYD Library
https://sydney.primo.exlibrisgroup.com/discovery/fulldisplay?docid=alma991031514930405106&context=L&vid=61USYD_INST:sydney&lang=en&search_scope=MyInst_and_CI&adaptor=Local%20Search%20Engine&isFrbr=true&tab=Everything&query=any,contains,uml%20disti
https://sydney.primo.exlibrisgroup.com/discovery/fulldisplay?docid=alma991031517765805106&context=L&vid=61USYD_INST:sydney&lang=en&search_scope=MyInst_and_CI&adaptor=Local%20Search%20Engine&tab=Everything&query=any,contains,java%20design%20patterns&offset=0
The University of 26
Topics Overview
Week Contents Week
1 Introduction; Software Engineering, Software Modeling, The Unified Process
2 OO Theory I: Java Knowledge Revisited
3 UML & Software Modelling Case Studies
4 OO Theory II: Software Design Principles and Design Smells
5 Design Pattern: Factory Method & Builder Design Pattern: Strategy & State 6
7 Testing Code Review 8
10 Design Pattern: Adapter & Observer Design Pattern: Prototype & Memento 11
12 Design Pattern: Singleton, Decorator and Facade
13 Unit Review
The University of 27
Assessment
What (Assessment)* When (due) How Value
Weekly Exercises Weekly Submission on Canvas 10%
Software Construction
Week 4 Individual Submission on
Software Construction
Week 8 Individual Submission on
Software Construction
Week 12 Individual Submission on
Exam Exam period Individual exam 50%
The University of 28
Weekly Exercises
– Weekly exercises can be found under each week module on Canvas.
– Exercises cover contents from recent tutorials and lectures
– Timeframe (from week 2 to week 12):
– Exercises and submission portals are released at 8am (AEST) Tuesday
– Exercises due and submission portals are closed at 23.59pm (AEST) Saturday
– You can do the exercise any time after it is open and before its due
– However, once it is closed, without SCON, you cannot re-take it if you miss it
– However, only 10 with highest marks out of 11 will be count for final mark
– Total marks: 10%
The University of 29
Assignment
– Three individual assignments (40% marks):
1. Design UML diagrams for a given scenario
– You are going to submit UML diagrams + presentation recording (5 minutes)
2. Implement a program for a given scenario
– You are going to submit implementation code with test cases + report about the design
principles/design patterns in your implementation
3. Review and extend somebody else’s code
– You are going to submit implementation code + report about the design principles/design
patterns of the receiver code and your extensions
The University of 30
Late Assignments
– Suppose you hand in your assignments after the deadline:
– If you have not been granted special consideration or arrangements
– A penalty of 5% of the maximal mark will be taken, per day late
• E.g., your work would have scored 60% and is 1 day late you get 55%
– Assignments after 10 calendar days late get 0
– Late penalty doesn’t apply to weekly exercises; you cannot re-take the exercise if
you miss it
– Warning: submission sites get very slow near deadlines
– Submit early; you can resubmit if there is time before the deadline
The University of 31
Online Final Exam
– 2hrs, will be organized by Exam Office during Exam period
– More details will be announced at the end of the semester (w13)
– Total marks: 50%
The University of 32
Passing this unit
– To pass this unit you must do all of these:
– Get a total mark of at least 50%
– Get at least 40% for your final exam mark
The University of 33
SOFT2201/COMP9201 Expectations
– Students attend scheduled classes, and devote an extra 10 hours per week
– Prepare and review lecture and tutorial materials
– Revise and integrate with ideas
– Carry on the required assessments
– Practice and self-assess
– Students are responsible learners
– Participate in classes, constructively
• Respect for one another (criticize ideas, but not people)
• Humility: none of us knows it all; each of us knows valuable things
– Check eLearning site very frequently
– Know the Uni/school policies
The University of 34
Q&A and Feedback
– A discussion forum is setup:
– Please use ED for technical questions so that everybody can benefit from
the questions and answers
– Talk to us:
– After lectures/tutorials
– During teaching staff consultation
– Feedback to you will take many forms:
– Verbally by your tutor
– As comments accompanying hand marking of your assignment work and
exercises work
The University of 35
Advice for doing well in this unit
– To do well in this unit you should
– Organize your time well
– Devote extra 10 hours a week in total to this unit
– Practice.
“Tell me and I forget, teach me and I may remember,
involve me and I learn.” –
The University of 36
Why Software
Engineering?
The University of 37
• Societies, businesses and governments dependent on SW systems
• Power, Telecommunication, Education, Government, Transport, Finance, Health
• Work automation, communication, control of complex systems
• Large software economies in developed countries
• IT application development expenditure in the US more than $250bn/year1
• Total value added GDP in the US2: $1.07 trillion
• Emerging challenges
• Security, robustness, human user-interface, and new computational platforms
1 Chaos Report, Standish group Report, 2014
2 softwareimpact.bsa.org
Software is Everywhere!
The University of 38
Need to build high quality software systems under resource constraints
• Satisfy user needs (e.g., functional, reliable, trustworthy)
• Impact on people’s lives (e.g., software failure, data protection)
• Economical
• Reduce cost; open up new opportunities
• Average cost of IT development ~$2.3m, ~$1.3m and ~$434k for large, medium
and small companies respectively3
• Time to market
• Deliver software on-time
3 Chaos Report, Standish group Report, 2014
Why Software Engineering?
The University of 39
What happened?
• European large rocket – 10 years development, ~$7 billion
• Unmanaged software exception resulted from a data conversion
from 64-bit floating point to a 16-bit signed integer
• Backup processor failed straight after using the same software
• Exploded 37 seconds after lift-off
Why did it happen?
• Design error, incorrect analysis of changing requirements, inadequate validation
and verification, testing and reviews, ineffective development processes and
management
http://iansommerville.com/software-engineering-book/files/2014/07/Bashar-Ariane5.pdf
Software Failure – Ariane 5 Disaster
The University of 40
What happened?
• ~3.53 million vehicles recall of various models 2013-2017
• Front passenger airbag may not deploy in an accident
Why did it happen?
• Software that activates airbags deployment improperly classify occupied passenger
seat as empty in case of accident
• Software defect that could lead to improper airbag function (failure)
• No warning that the airbag may not function properly
• Software sensitivity calibration due to combination of factors (high engine vibration and
changing seat status)
http://www.reuters.com/article/us-autos-nissan-recall/nissan-to-recall-3-53-million-vehicles-air-bags-may-not-deploy-idUSKCN0XQ2A8
Nissan Recall – Airbag Defect
The University of 41
https://en.wikipedia.org/wiki/List_of_failed_and_overbudget_custom_software_projects
Software Project Failures
Project Duration Cost Failure/Status
e-borders (UK Advanced
passenger Information System
Programme)
2007 – 2014 Over £ 412m
(expected), £742m
Permanent failure – cancelled after a
series of delays
– Swedish Police
case management (Swedish
2011 – 2014 $53m (actual) Permanent failure – scraped due to poor
functioning, inefficient in work
environments
US Federal Government
Health Care Exchange Web
application
$93.7m (expected),
$1.5bn (actual)
Ongoing problems – too slow, poor
performance, people get stuck in the
application process (frustrated users)
The University of 42
• Essence: difculties inherent (or intrinsic) in the nature of SW
• Accidents: difculties related to the production of software
• Most techniques attack the accidents of software engineering
No – Essence and Accidents in Software Engineering
“There is no single development, in either te
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com