CS代考 SOFT2201 / COMP9201

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: difculties inherent (or intrinsic) in the nature of SW

• Accidents: difculties 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