SlideShare a Scribd company logo
1 of 43
Download to read offline
SDD HSC Social & Ethical Issues                     Page 1 of 43




                                        HSC
                                  Software Design
                                  and Development

                                    Mindmaps
                                       and
                                  Summary Sheets
SDD HSC Social & Ethical Issues                                                                                                                                                                                                                                                Page 2 of 43


                    E nti ced to u p gra de a pp l i ca ti on                                                               Resp on se to Pro bl e m s
                 Cro ssgra d e b y co mp e ti n g p ro du cts                       Q ua l i ty                      Id en ti fy the d eve lo p me n t p ro bl e m
                In cre ase co m pu ter p owe r, sto ra g e &                      re li a b il i ty                 Und e rsta nd the d eve l op me n t p ro bl e m                            Cod e o f Co n du ct
                             o utp u t d e vi ces                               e ase of u se                               Desi g n & Te st a sol u tio n                              A ckn owl e dg e a l l co n tri b u to rs
                                                                           con si ste n cy o f u ser                        Imp l e me nt th e sol u ti on                        Cle a ran ce to use co p yri g hte d m od u l es
                                                                                  i n te rface                                                                                                       o f co de
                            Imp ro ve cu rren t ap p i ca ti on
                                                                               d ocu me n ta ti on                                                                                  P ri va cy, secu ri ty of d ata secrets
                       In tro d uce n e w i n no vati o n sftwa re
                                                                       a dh e re to sftwre sta n da rd s                                                                                 Use o f a p pro pri a te p rom pts
                       M ai n ten a nce , su pp o rt o f exi sti n g
                                       p rod u ct

                                                                           P re ve nti o n o f sp rea d of viru ses
                     G ov't, B u si n e ss, Ind i vid u al s              S ca n re m ova bl e me di a be fo re u se                                                                    Rel i a bi l i ty
                     Dri ve n b y m o re sop h i sti cate d                     Care ful vetti n g o f e m ai l                                                                 P erfo rm wi th ou t fai l u e
                          h ard wa re & p eri p he ral s                  Not mi xi n g h om e /wo rk a pp l i cati o ns                                                     T ho rou g hl y che ck i n pu t da ta
                      M ai n tai n i ng ma rke t p osi tio n                     L ate st vi rus d efi n iti o n s                                                    K ee p to we l l de fi ne d & stan d p ro ce ss fo r
                          E ffe ct o n ma rke tpl a ce                                                                                                                             sftwre d e vl o p me nt
                                                                                                                                       Rig h ts
                                                                                                                                  Resp on si bi l i tes
                                                                           S oftware                                               o f De ve l o pe r
                                                                            M arket
                                                                                                                                                                                     Nati o na l / In tern ati o n al L eg a l A cti o n
                       In te l l ectu al P ro p erty                                                                                                                                           Y ea r 20 0 0 p rob l em
                                P la g i ari sm                                                                                                                                                 Com pu te r vi ruse s
                                S ha rewa re                                                                  S oci a l &                           E xa m pl e s                    Rel i a nce on so ftwa re -> mi crowa ve
                            P ub l i c Dom a in                          P ira cy &                           E th i cal
                     O wn e rsh i p vs L i cen si ng                     Cop yrig h t                         Issu e s
                           Cop yrig h t L a ws
                       Reve rse En g i ne e ri n g
                             Deco mp i l ati o n                                                                                                                Reu se o f exi sti n g m o du l es i n
                        L i ce n se Co n di ti o ns                                                                                                              4 th G en e ra ti on L an g ua g es
                              Network u se                                                                        In fo rma ti on g ath eri n g to ol
                                                                                                                                                                P ro j e ct scop e i s con stra i n ed
                     P ira cy & co p yri g ht l a ws                                                              E vo l ves i nto ful l y wo rki n g
                                                                                                                                                                    A uto ma ted too l s use d
              Cop yrig h t l a ws & li ce nse ag ree m en ts                                                                 p rog ram


                                                                                                                    Defi n e th e p rob l em                   Con stra i n ts:                 Data Fl o w
                                                                                                                     P la n th e so l u ti o n                  Fi na n ci a l                   Dia g ram
                                                                                                                     B ui l d th e so l uti o n                O pe rati o na l                 IPO Ch a rt
                                                                                                                    Che ck th e so l uti o n                    T ech ni ca l                  A lg o rith ms
                                                                                                                    M od i fy th e so lu ti on                 S ch e du l i ng               S yste m Flo w



               Development &                                                                                          S tru cture d A pp ro ach
                                                                                                                            P ro to typ i ng
                                                                                                                                                                             Dire ct co nve rsi o n
                                                                                                                                                                             P ara l le l con versi on
                                                                                                                Rap i d A p pl i cati o n d e ve l op m en t                 P ha sed con versi on
             Implementation of                                                                                     E nd -use r de vel o pm e nt
                                                                                                                 Com bi n a ti o n o f Ap p roa che s
                                                                                                                                                                              P il o t Co n ve rsio n


             Software Solutions                                                                                                                                            M eth od s of                                                               •Ou tsou rcin g
                                                                                                                                          A pp roa ch es:                Imp l e me nta ti on                                                        Form al to A d -h o c
                                                                                       G ea red to su pp o rt sp eci fi c              Com me ri ca l System s
                                                                                                                                                                                                                                                   P op u la r Ap p roa che s:
                                                                                     a cti vi ti e s of the S yste m Dev.                                                                                                           A cce ssi b l e to l a rge n um b er o f e mp l o ye e s
                                                                                                                                                                     S oftware                T re n ds i n S o ftwa re
                                                                                                     Cycl e e g :                                                                                                                          S ma l l e n d u sers: off the she l f
                                                                                                                                            CAS E T o ol s          Deve l op me n t             Deve l op me n t
                                                                                   T ext ed i ti ng , te st-d a ta g e ne rati o n,                                                                                                                 P op u la r l an g ua g es
                                                                                   d ocu me n t p rep a rati o n, fl ow ch a rt.                                    A pp roa ch es
                                                                                                                                                                                                                                                   E mp l oym en t Tre nd s
                                                                                    V ersi on i n g: v1.0 v1 .1 v1 .3 v2 .0                                                                                                                        Networke d so ftwa re
                                                                                                 Data di cti on a ry                                                                                                                           O ff th e sh el f Pa cka g e s
SDD HSC Social & Ethical Issues                                                                                                                            Page 3 of 43


Concept: Social & Ethical Issues:                             Concept: Social & Ethical Issues:                        Concept: Social & Ethical Issues:
Rights responsibilities of software developers                Responsibilities                        continued:       Responsibilities                           continued:

code of conduct / practice:                                   quality: measured by a number of criteria:               prevention of virus spread:
§ acknowledge all contributors                               § reliability                                           § scan removable media before use
§ clearance to use copyrighted modules of code               § ease of use: comfort of the user                      § careful vetting of email
§ one should not discuss employer’s or clients               § consistency of user interface: placement of similar   § not mixing development on home & work
requirements or specifications without consent                items in the same place                                  machines
§ one should maintain the privacy of individuals             § documentation: process & product are of high          § use latest virus definitions
§ one should use non-threatening prompts or                  quality
message boxes.                                                § sticking to software standards                        Some issues for developers:
                                                                                                                       § portability
reliability: the ability to perform without failure.          response to problems: overcome problems in an order-     § backward compatibility
§ thoroughly check input data                                ly fashion.                                              § modularity
§ keep to well defined & standard processes for              § identify the problem                                  § security
software development                                          § understand the development problem                    § cost constraints
                                                              § design & test a solution to the develop. problem      § operational reliability with other common software
                                                              § implement the solution

Issue:          Rights of software developers:                Responsibilities of software developers:                 Concept: Social & Ethical Issues:
                                                                                                                       Piracy & copyright:
Authorship      Protection of their product against theft &   Acknowledge authors & sources particularly in a devel-   intellectual property: a personal ownership of the
                modification                                  opment team                                              creative ideas that develop from someone’s mind.
Reliability     Protection against operating system,          Check that the product works with the hardware & OS
                hardware, & program problems which            that they specify. Ensure there are no run time errors   plagiarism: the theft of ideas & expressions of another
                may make their product unusable.              when installed & run as directed.                        person. Often code is collected for a range of other
Quality         Codes to ensure others develop programs       Use thorough testing procedures & error checking code    sources.
                that follow the same high standard            Meet the user’s expectations as much as possible
Response        Not to be harassed with trivial problems      Provided troubleshooting manuals, online help. Provide   shareware; software that is distributed for trial use
to prob-        that could have been solved by the user       customer support. Quick response to major or critical    before purchase.
lems            reading the documentation.                    problems. Make bug fixes freely available to users.
Code of         All developers follow the same ethical        Follow the standards set by members of the profes-       public domain: freeware which can be copied &
conduct         standards.                                    sional association to which they belong.                 distributed freely. No payment is due. Still covered
Viruses         Protection of the developer’s products by     Ensure they do not distribute viruses with their         by copyright.
                users through the use of good current         products or as part of their customer contact such as
                antivirus products                            through emails.                                          ownership vs. licensing: payment means the purchaser
                                                                                                                       has the right to use the software but NOT the owner-
                                                                                                                       ship of the software
SDD HSC Social & Ethical Issues                                                                                                                       Page 4 of 43


Concept: Social & Ethical Issues:                         Concept: Social & Ethical Issues:                         Concept: Social & Ethical Issues:
Piracy & copyright:                       continued:      Software piracy & copyright laws                          Software Market:
reverse/backward engineering: the process of reading      Warez commercial packages that have been illegally        § gov’t, business & private individuals make up the
source code & translating it to an algorithm which then   copied or pirated & made publicly available. Pirateers    software market.
can be modified & recoded elsewhere.                      have found a way to by-pass the copy-protection.          § gov’t, businesses are more likely to need custom
                                                          § distribution within Australia is illegal               written software
decompilation: where object code is translated into       § deprives the legitimate copyright owners of money      § software market driven by more sophisticated
code that can be more easily studied by a programmer      § some nations have refused to sign a universal          hardware & peripherals. eg. as computers became
needing to understand the processes carried out.          copyright law                                             more powerful, word processing features advanced.

licence conditions: spells out exactly how the software   relationship -> copyright laws & licence agreements:      maintaining market position: aim is to make a profit.
may be used by the licence purchaser. It is a legally     § licence is a contract                                  § improve the current application
binding contract.                                         § single-user licence                                    § introducing new & innovative software applications
                                                          § multi-user licence                                     § maintenance & support is very important for sur-
network use: many programs are available for network      § network licence                                        vival of a software company
use. Licence indicates how many may use it or it may      Business Software Association of Australia                § active research & development program in major
be a site licence.                                        § educate people                                         software development companies.
§ centralized: single copy on central server             § assist in software management                          § reputation as an ethical developer
§ distributed:individual copies on individual machines   § help prosecute those in breach of licence agreemnt     § bug-free software (or as close as possible)
Concept: Social & Ethical Issues: software market         Concept: Social & Ethical Issues: software market
Effect on the market place                                Significant social & ethical issues:
Definition: software production is a multi-billion
dollar industry.                                          National & international legal action resulting from
Summary Points:                  News Article: Y/N        software development:
                                                          § trumpet software vs OzEmail: OzEmail distributed
§ enticed to update their applications                   Winsock with their distribution disks but failed to ad-
§ crossgrade: change to a competing product eg.          vise customers they had to register with Winsock.                           Bibliography:
go from Word to WordPerfect word processor                Some documentation was omitted or chaned. OzEmail                        Main: Folwer’s HSC SDD text
§ more complex software needs more computer              was ruled against.                                                Supplementary: Wilson’s HSC SDD text
power.                                                    § Microsoft operating system & Internet Explorer
                                                          § Sega vs Accolade: Accolade was within its right
                                                          to reverse engineer as it had not stolen Sega’s
                                                          creative works & only needed the secret codes for
                                                          Accolades games to work on Sega machines.
Example: eg. gaming, video editing, digital editing
More hard disk storage, RAM & processing speed            Public issue:
                                                          § Y2k millennium bug
                                                          § computer viruses
SDD HSC Software Development Approaches                                                                                                                               Page 5 of 43


Concept: Software Development Approaches:                  Concept: Software Development Approaches:                   Concept: Software Development Approaches:
Approaches: commercial systems:                            structured approach                           continued     structured approach                 continued:
structured approach: follows the software develop.         § it takes little to fix a mistake at this stage but be-
cycle. It looks at the whole problem & divides it into     comes more expensive in the latter stages                   building the solution: the programming, coding &
steps that can be systematically followed to arrive at a   § feasibility of a software solution (constraints)         testing phase. Everyone is involved.
solution.                                                                                                              § top-down approach / step-wise refinement
§ it is time consuming but appropriate for complex        planning the solution: involves a further, more in          § peer checking, desk checking
problems.                                                  depth understanding of the needs of the users &             § runtime testing
§ often a team is involved: system analyst, program-      a choice of a method(s) to solve the problem.
mers, graphic designers, managers, trainers, users         § planning the data & program structures                   checking the solution: a continuous part of the SDC
                                                           § designing algorithms                                     (system development cycle).
structured approach:                                       § planning the user interface                              § acceptance testing: measured against the original
define the problem-> plan the solution-> build the         § scheduling the project – Gantt chart                     specifications
solution-> check the solution-> modify the solution        § choosing a programming language                          § real data used
                                                           § dataflow diagrams, IPO charts used as tools              § alpha / beta testing
define the problem: thoroughly understand & define         § mostly involves the design & checking of                 § screen design, intuitive
the problem itself.                                        algorithm & interfaces                                      § staff training
§ interviews, collect data, observation, documents,                                                                   § error handling within the program
questionnaire, surveys
§ specific requirements drawn up
Concept: Software Development Approaches:                  Concept: Software Development Approaches:                   Concept: Software Development Approaches:
structured approach:                     continued:        structured approach: Advantages                             structured approach is used when:

modifying the solution: modifying the solution from        § easier to write because it is broken into chunks         § project is large scale, complex & is best solved
checking the solution. Further testing takes place on      § easier to understand because of the use of               using modularisation
the modifications. Program is either accepted or modi      modules; can be easily tracked & connections seen           § development budget is large
fied further.                                              § easy to test & debug each module separately              § time available is considerable
§ significant changes at this stage can be quite          § easy to modify because only some modules need            § a easy program to debug, write, understand &
expensive                                                  to be changed.                                              modify is required.
§ should only be carried out if small or crucial                                                                      § a project development team is involved.
§ in extreme cases, the analyst could recommend
the SDC start all over again.
SDD HSC Software Development Approaches                                                                                                                            Page 6 of 43


Concept: Software Development Approaches:                 Concept: Software Development Approaches:               Concept: Software Development Approaches:
Prototyping                                               Rapid Applications Development                          End-user development
Definition: involves building a working model that is     Definition: any method of software design that uses     Definition: where the user adapts existing software
evaluated by users. It generally has screens but little   tools to quickly generate a program for a user.         tools to suit their needs or to obtain a solution to a
processing.                                                                                                       problem.
Summary Points:                  News Article: Y/N        Summary Points:                  News Article: Y/N      Summary Points:                    News Article: Y/N
§ it can become the actual solution                      § uses existing modules to create a solution           § a larger number of programs allow the users to
§ can be used as an information gathering tool           existing modules need little or no testing              create their own solution
that can be used in another program                       § may reuse code                                       § very informal, little documentation
§ useful where a lot of computer interaction is          § may use CASE tools & templates                       § buttons & macros can be used to a limited degree
required eg. multimedia, internet                         § requirements of project are well understood          § disadv. end users within the same organization
§ user gives feedback via a prototype                    § scope is well constrained, focused.                  often duplicate processes unknowingly.
§ reduced documentation & faster development             § includes adding modifications to existing software
compared to structured approach.                                                                                  Use end user development when:
Use prototyping when:                                     Use prototyping when:                                   § development involves the user
§ development is small scale & small budget              § very small team, low budget & minimal time           § it involves existing software solutions
§ a smaller team needed                                  § small scale projects                                 § it involves very little cost or time
§ less time available                                    § a small range of coding languages                    § it involves small problems
§ help develop another program
Concept: Software Development Approaches:                 Concept: Software Development Approaches:               Concept: Software Development Approaches:
Combination of approaches                                 Methods of implementation                               Methods of implementation         Adv. & Disadv.
                                                          parallel: the old & the new program work together for   parallel adv: 2 programs can be compared. Fixing is
§   Using combinations of the 4 approaches can be        a period of time.                                        simpler because old one can be used in emergency
     carried out.                                                                                                 parallel disadv: user stress both systems operated.
§   eg. the problem could be split in two & the          direct cut-over: the new program immediately replaces    Confusion between programs. Dual costs - more
     sections worked on separately using different        the old program                                          expensive. Large changes in procedures can cause
     approaches.                                                                                                   confusion.
                                                          phased: one or more tasks of the new program are        direct adv: reduced implementation costs. Less pres-
§   The ultimate objective is always to produce a        gradually implemented until the new program takes        sure on users – only 1 program in place
     properly documented solution to the problem.         over all tasks of the old program.                      direct disadv: data transfer done quickly. No fallback.
                                                                                                                  User stress in training before new program in place.
                                                          pilot: one section of the organization uses the new     phased adv: each task individually tested. Training is
                                                          program & all other sections continue with the old       easier
                                                          program until a decision is made to put the new         phased disadv:difficult to separate the old & new tasks
                                                          program into place across the whole system.              longer time to bring online increases costs.
                                                                                                                  pilot adv: risk confined. Fixing problem is easier as old
                                                                                                                   program is still available.
                                                                                                                  pilot disadv: larger organizations (banks) required to
                                                                                                                  use this method. Multiple sites doing same task.
SDD HSC Software Development Approaches                                                                                                                          Page 7 of 43


Concept: Software Development Approaches:                Concept: Software Development Approaches:               Concept: Software Development Approaches:
Trends in software development:                          Trends in software development           continued:     Networked software
outsourcing: hiring an outside organization to handle    popular languages:                                      Definition: software written for use on centralised
all or part of software serverices.                      § structured environments: C++, Visual Basic, Java     networks. Needs to interact with the network oper-
§ no expense of a full Information Tech. department     § informal: spreadsheets, web page,macro recording     ing system which handle the security & communi-
§ effective use of scarce technological assets          databases, SQL                                          cations tasks.
§ difficulty of breaking unsatisfactory contracts       § 3rd generation: COBAL & Fortran still popular        Summary Points:                   News Article: Y/N
§ may not understand the ethos of the organisation      § they all have a formal set of rules called syntax    § business moving toward personal computers that
§ may feel it lost its control of is system             § all use constants, variables & operators             are networked.
                                                         § some are easier to use than others and some run      § security is of particular importance especially with
popular approaches: ranges for ad-hoc to formal.         faster than others.                                     financial transactions & the Internet.
§ web-page editors have encouraged end users                                                                    Network software:
§ customising off the shelf software                    Employment trends:                                      § user interface and the system
§ software accessible to large number of employees      § less likely to be permanent employment               § application: meets the needs of the end user
§ greater distribution of code libraries                § will tend to be contract work to the business or     § database management: manipulation & manage-
§ increasing use of hypermedia                          software development company                            ment of data on the network
§ increased use of authoring languages                  § increasingly high educational requirements           § network: the means by which communications
                                                                                                                 takes place

Concept: Software Development Approaches:                Concept: Software Development Approaches:
Customised off-the-shelf packages                        CASE tools
Definition: software that is purchased off the shelf &   Definition: computer assisted software engineering to
can be modified to fit a scenario in a business eg.      help in the task of software development & mainten-
book keeping software.                                   ance.
                                                         Summary Points:                  News Article: Y/N
Summary Points:                  News Article: Y/N       § general software to aid the software development
§ able to create a software solution from an inte-      can be considered as CASE tools eg. word processor,                       Bibliography:
grated package eg. spreadsheets, Database, graphics,     spreadsheet, graphics software                                      Main: Fowler’s HSC SDD text
word processing                                          § data dictionaries                                            Supplementary: Wilson’s HSC SDD text
§ customizable interface                                § specialist software does exist but we have seen no
§ customizable reports                                  practical examples.
§ conversion of old data to the new system              § management of software development includes
§ lends itself to prototyping approach or an end-       versioning the changes eg. v1.0->v1.1->1.1.1->1.2->
user approach.                                           1.3->v2.0
                                                         § documentation generation using CASE tool
Example: MYOB, Creating a relational database for        § test data generators CASE tool
a specific task. eg. Dean’s Merit Awards
SDD HSC Software Development Approaches                                                                                                              Page 8 of 43


Concept: Software Development Approaches:                Concept: Software Development Approaches:       Concept: Software Development Approaches:

Definition:                                              Definition:                                     Definition:


Summary Points:                      News Article: Y/N   Summary Points:             News Article: Y/N   Summary Points:             News Article: Y/N
§                                                       §                                              §


§                                                       §                                              §


§                                                       §                                              §


Example:                                                 Example:                                        Example:




Concept: Software Development Approaches:                Concept: Software Development Approaches:       Concept: Software Development Approaches:

Definition:                                              Definition:                                     Definition:


Summary Points:                      News Article: Y/N   Summary Points:             News Article: Y/N   Summary Points:             News Article: Y/N
§                                                       §                                              §


§                                                       §                                              §


§                                                       §                                              §


Example:                                                 Example:                                        Example:
SDD HSC Defining & Understanding the Problem                                                                                                                                                                                                                                      Page 9 of 43

                                                                                                                                                                                                O ve ral l Desi g n
                                                                                                                                                                                               S tru cture Ch arts
                                                 Data Fl o w Di ag ra ms
                                                                                                                                                                                         In cl u de s: mo du l e s & th e
                                                      IPO d ia g ram s
                                                                                                                                                                                    i n te ra cti o ns b etwee n m o du l es
                                                  L i ne a r storyb oa rd                                         Id en ti fyi n g th e p rob l em
                                                Hie ra rch i al storyb oa rd                            P ro b l em de fi ni ti on / fe a sib i l i ty stud y
                                                                                                                               Nee d s                                                Data De si gn :
                                                 Network sto rybo a rd
                                                                                                                            O bj e cti ve s                                      Id en ti fy d ata ob j ects
                                                  Hyb ri d storyb oa rd
                                                                                                                            Fea si bi l i ty                                      Id en ti fy d ata typ es
                                                  S yste m fl owcha rt
                                                                                                                     Is i t worth S o l vi n g?                                  Id en ti fy fi le stru cture
                                                     S cre e n d esi g n
                                                                                                                           Con stra i n ts                                          Cro ss re fe re n ce
                                                  L i mi ted Pro totyp e
                                                      Deci sio n tre e                                          B ud g eta ry co nsi d era tio n s
                                                     Deci sio n ta b l e                                       O pe rati o na l co n sid e rati o ns                          S co p e:
                                                    S tru cture ch a rt                                          T ech ni ca l co nsi d era tio n s                How the softwa re fi ts in .
                                                                                                                            S ch e du l i ng                        Defi n es the b ou n da ri es
                                                                                                                   P ossi bl e Al te rn a tive s                    Form s o f in p ut/o utp u t
                                                                                                            S oci a l & Eth i ca l co n si d e ra ti on s                      d ata
                                                                         Defi n in g th e Pro bl e m
                                                                                                                                                                   Descrip ti on o f p roce ssi n g
                                                     M od e ll i n g



                                                                                                                                     S co p e o f th e pro j ect
      Nee d to em p owe r th e u ser                                                      Desi g n S pe ci fi ca ti o n s                  Data de si gn
       G ive s se n se of o wn e rsh i p                               S DC De fi ni n g &                                         O ve ral l p ro g ram de si gn
   A ckn owl e dg e u se r's p erspe cti ve   Com mu n ica ti on        Und e rsta nd i n g                                             In te rface de si gn
           A cce pti n g fe ed b ack                                     th e P ro b l em                                               P ro ce ss Desi gn
                                                                                                                             Cro ss-re fe re n ce with req u ire me n ts                                   Imp l e me nt. / te stin g
                                                                                                                                             d efi n i ti o n                                             G en e ra l pro cesse s fo r
                                                                                                                                  Imp l e me nta ti on & te sti n g                                            te sti n g o utl i n ed .
                                                                                                                                  Deve l op e r's Pe rspe ctive                                           In sta l la ti on o nto si te is
                                                                                                                                            Data typ e s                                                      care ful l y pl a nn e d
                                                                                                                                             V ari a bl e s
                                                                                                                                            A lg o rith ms                                             P ro ce ss Desi gn :
                                                                                                                                      Use r's p e rsp e cti ve                               E ach mo du l e d e scri b ed i n d eta i l

          System Development Cycle:                                                                                                                                                            Descrip ti on o f th e In terfa ce
                                                                                                                                                                                             A lg o rith m th at d esri b es mo d ul e

          Defining Understanding the
                                                                                                                                                                                                    L oca l d a ta structure s
                                                                                                                      In te rface De sig n :                                                   A ny restri cti o ns / li m i ta ti on s
                                                                                                                Hum an -ma ch in e in te rfa ce
                    Problem                                                                                       How the use r in te ra cts.
                                                                                                               S pe ci fi ca ti o n s th at d escri be s
                                                                                                                                                                                                       Cro ss Re fere nce :
                                                                                                                                                                                               E nsu res req u i re m en ts m et b y
                                                                                                                  th e i n te rface s b e twe en
                                                                                                                                                                                                            software .
                                                                                                               m od u le s, p ro gra m & extern a l
                                                                                                                                                                                               In di cate s wh i ch mo d ul e s m e et
                                                                                                                              d evi ces
                                                                                                                                                                                                   p arti cul a r re q ui re me nts.

                                                                                                                                                                      Dev.
                                                                                                                                                                                                    Data typ e s:                       V ari a bl e s:
                                                                                                                                                                 P ersp ecti ve :
                                                                                                                                                                                                 Is a b l e to ca ter                 G lo b al , l oca l              A lg o rith ms:
                                                                                                                                                                Con verts cl i e nt's
                                                                                                                                                                                                    fo r stora g e                A pp rop ri ate na m e o f     B re a k d o wn p ro b l em
                                                                                                                                                                  wish e s to a
                                                                                                                                                                                                V isu a li se d b y th e                    i tem              i n to sma l le r pro b le m s.
                                                                                                                                                                   p rog ram .
                                                                                                                                                                                                  p rog ram me r &                                                T op -town a p pro a ch
                                                                                                                                                                                                 e xp re sse d a s a
                                                                                                                                                                                                 m od e l o n p a pe r
                                                                                                                                                                                                Refl e ct th e d ata
                                                                                                                                                                                                 i n th e p ro bl e m.
SDD HSC Defining & Understanding the Problem                                                                                                                         Page 10 of 43


Concept: Define Understand the Problem:                   Concept: Define Understand the Problem:                     Concept: Define Understand the Problem:
Defining the problem:                                     Determining the feasibility of the solution                 Determining the feasibility of the solution continued:
Definition: Problem definition involves examining the     Definition: determines whether a problem is worth           Possible alternatives: looks at all the other options
needs of the users, objectives that the solution is to    solving. Constraint is a limitation placed on something.    available to solve the problem.
meet, the boundaries within which the solution has to     financial feasibility: the ability to develop a program     § could include leaving the system unchanged
work and whether it is feasible.                          within the money allocated for the project.                 § rough cost of each alternative
                                                          § the additional income &/or projected savings need        § adv. & disadv. of each alternative
Needs: needs of the user, needs of the system (data       to be more than the cost of implementing the solution.      § analyst makes a recommendation with justification
types, storage of facts, perform certain processes &      operational feasibility: refers to the skills & resources   social & ethical considerations: impact upon people be
the output need).                                         needed to complete and maintain the program.                it lifestyle or work practices.
Objectives: are aims which are measurable. eg. maxi-      § eg. artificial intelligence may be worthwhile but        § right to privacy: sensitive personal information
mum response time.                                        the skills don’t exist yet.                                 § code from other sources need to be dealt with
Boundaries: where outputs leave one system & pass         § meets the needs of the organization. May refine          as per copyright.
on to the next system.                                    a worker’s role.
§ are limits, borders                                    technical feasibility: the availability of hardware and
§ can be hardware/software requirements                  software for the product to meet the needs of the
                                                          program.
                                                          scheduling feasibility: refers to time requirements.
Is it worth solving?                                      There is usually a firm completion date. eg Y2K
                                                          bug.
Concept: Define Understand the Problem:                   Concept: Define Understand the Problem:                     Concept: Define Understand the Problem:
Design Specifications:                                    Overall program design:                                     Interface design:
Definition: lays down the guidelines for development      Definition: One steps back and takes a look at the          Definition: the interface between the user & the
and give a yardstick to measure the success of the        overall design of the program. Usually quite general.       program.
project. Some aspects include:                                                                                        human-machine interface
                                                          § structure charts: includes modules & the                 § give control of the program to the user
scope of the project: how the software fits in with the   interactions between modules.                               § enable access to other parts of the program
whole system.                                                                                                         § consistent screen design eg. navigation
§ forms of output / input                                §   context / dataflow diagrams                            § simplicity: easy to learn and use
§ description of processing to convert input to output
§ any special processing needs                           §   input processing output charts                         specifications: that describe the interfaces between
data design: identifies the data objects required & the                                                               modules, program and external devices. eg. printing
resulting data types.                                     §   system flow chart                                      from a program
§ file structure & access covered here
cross reference: checking that data items are related
to their respective files / modules.
SDD HSC Defining & Understanding the Problem                                                                                                                     Page 11 of 43


Concept: Define Understand the Problem:                   Concept: Define Understand the Problem:                Concept: Define Understand the Problem:
Process design:                                           Implementation & testing:                              Developer’s perspective
Definition: a description of processing.                  Definition: implementation & testing needs to be       Definition: white-box: is concerned with what hap-
                                                          planned out & specified before they are used.          pens & how it happens. Input & output are equally
§ each module is described in detail.                                                                           important.
§ a description of the interface. Includes machine-      § general processes for testing outlined.             data types:
human centered & machine-peripherals                      § installation onto the actual site needs to be       § converts client’s wishes to a program
§ algorithm that describes each module                   carefully planned.                                     § choose data types that cater for respective storage
§ identifies any local data structures within a module                                                          § visualised by the programmer & expressed as a
§ any restrictions / limitations on the module                                                                  model on paper
                                                                                                                 § data type has to reflect the data in the problem

                                                                                                                 variables: global or local variables may be used.
                                                                                                                 variable name should have meaning.

                                                                                                                 algorithm breaks a large problem into smaller pieces.
                                                                                                                 Uses the top-down approach or step-wise refinement.
                                                                                                                 Each module of algorithm should be given a meaning-
                                                                                                                 ful name.
Concept: Define Understand the Problem:                   Concept: Define Understand the Problem:
Modeling:                                                 Communication
Definition: a system can be represented in some way       Definition: should interact with the user throughout
to show its structure.                                    the process.
§ data flow diagarm
§ IPO chart                                              Summary Points:                  News Article: Y/N
§ linear storyboard                                      § it empowers the user
§ hierarchical storyboard
§ network storyboard: modules may be accessed            §   gives the user some sense of ownership                              Bibliography:
directly by other modules.                                                                                                   Main: Fowler’s SDD HSC text
§ hybrid storyboard                                      §   acknowledges the user’s perspective                       Supplementary: Wilson’s SDD HSC text
§ system flow chart
§ screen design                                          §   demonstrates the ability to accept feedback.
§ limited prototype
§ decision tree
§ decision table
§ structure chart

Need to know how to construct DFD, system flow
chart, decision tree/table at least to some depth.
SDD HSC Defining & Understanding the Problem                                                                                       Page 12 of 43


Concept: Define Understand the Problem:        Concept: Define Understand the Problem:   Concept: Define Understand the Problem:




Concept: Define Understand the Problem:        Concept: Define Understand the Problem:   Concept: Define Understand the Problem:
SDD HSC Defining & Understanding the Problem                                                                                       Page 13 of 43


Concept: Define Understand the Problem:        Concept: Define Understand the Problem:   Concept: Define Understand the Problem:




                                               Concept: Define Understand the Problem:
SDD HSC Planning & Design                                                                                                                                                                                           Page 14 of 43




                                                                                                                                      Id en ti fi ca ti o n o f ap p rop ri ate mo du l e s
                                                              S tru cture d P rog ram m in g                                           In de n ti fi cati o n i n pu ts, p roce sse s &
                                                             Fun ctio n al Deco mp o si ti o n                                                               o utp u ts
                                                                 Use o f M ai n mo d ul e                                            T he sco p e o f va ri ab l es l o ca l pre ferre d
                                                                 Use o f su b m od u l es                                                        P assi ng o f p a ra m ete rs
                                                                  Wri tte n sep a rate l y                                                            T ho rou g h te sti n g
                                                                  T este d se pa rate l y                                               Desk ch e cki n g u si ng tra ce ta bl e s
                 System Development Cycle:                    S ho u ld b e i n de p en d en t                                                            Fi el d te stin g
                                                                 Re-u se o f m o du l es                                                                  P ro to typ i ng
                      Planning & Design                        M ai n ten a nce o n so m e                                                      E xte rna l do cum e nta tio n
                                                               m od u le s on l y n e ed e d                                                     In te rn al d ocu me nta ti on
                                                                                                                                                   L i sti n g a ssu m pti o ns

                                                                                                                                                                            Deco mp o si ti on , reu sab i l i ty
                                                                              P ro b l em So l vi n g                                                                            Fun ctio n li b rari e s
                                                                                   S tra teg y                                                                               Cal l , re tu rn me ch an i sms
                                                                                                                                          Desi g n Con cep ts                  Fun ctio n an a to m y
                                                Reco rds
                                                                                                                                                                                  Fun ctio n na me s
                                      Data ba se te rmi n ol o g y
                                                                                                                S DC Pl a nn i n g                                                  Fun ctio n in p ut
                                   O bj e ct O rie n ted term in o l og y
                                                                                   Reco rds &                    & De sig n of                  M od u le s &                      Fun ctio n ou tpu t
                                            Usi n g re cord s
                                                                                   Col l e cti o ns                software                     Fun ctio n s                  Fun ctio n pro ce ssi ng
                                           Neste d re co rds
                                                                                                                   sol u ti on s                                                    L oca l va rab l es
                                              Col l e cti o ns
                                                                                                                                                                               B oo l ea n fu n cti o n s
                                        Defi n in g th e sto rag e
                                                                                                                                              A rra ys (B asi c)
                                      Defi n in g th e fu n cti o n s

                                                                                   S tri n g P roce ssi n g

                                                                                                              S orti ng & S e arch in g                       Nam i ng , cre a ti n g a rrays
                                                                                                                                                               Hol d s si n gl e da ta typ e
                                                                                                                                                               A rra ys o f fi xe d l e ng th
                                                                  S tri n g co nce pts:                                                                             In de xin g arra ys
                                                                                                                S ea rchi n g a rrays:
                                                       S tri n g m an i p ul a tio n fun cti o n s a re                                                            T ra ve rsi n g a rra ys
                                                                                                                  L i ne a r se arch
                                                                  store d i n li b rari e s                                                                       S wa p pi n g e l em e nts
                                                                                                                  B in a ry se arch
                                                            Con cate n ati o n o f 2 stri n g s                                                            Fi nd i ng l arg e st val u e i n arra y
                                                                                                                 S orti ng a rra ys:
                                                                        tri mS tri n g                                                             Fi nd i ng p osi tio n of l a rg e st va lu e in a rra y
                                                                                                                   B ub b le sort
                                                                   com p are Stri n gs                                                                          S im p le l i ne a r se arch
                                                                                                                  S el e cti o n so rt
                                                          to Lo we rCase , to Up p erCase
                                                                                                                  In se rtio n so rt
                                                                    stri n g Co n ta i n s
                                                                                                                S ee Pow er Point
                                                                                                                  P re s enta tion
SDD HSC Planning & Design                                                                                                                                         Page 15 of 43


Concept: Planning & Design: structured                   Concept: Planning & Design: design concepts                Concept: Planning & Design: design concepts
programming & functional decomposition                   identification of appropriate modules:                     identification of inputs, processes & outputs:
§ structured programming consists of a main module      § read main module first to get overview of the           Input:
which activates sub-modules. aka modular program-        algorithm. Examine sub-modules to get more detailed        § type of data?
ming (aka = also known as)                               information.                                               § source of data?
§ functional decomposition: is the breaking down of     § top-down: design main module first, then the sub        § method of data input?
a complex problem down into functions.                   modules. also known as (aka) stepwise refinement           § instructions to computer to handle data input?
§ a well written module can be used over & over                                                                    Process data:
§ modules should be independent                                                                                    § what steps are taken to process the data?
                                                                                                                    § are loops and/or selection structures needed?
Some requirements to generate software solutions:                                                                   §  instructions to computer to handle data
§ identification of inputs, outputs & processing                                                                   processing?
§ id & definition of required data structures                                                                      Output data:
§ an understanding where/when to use random                                                                        § type of data output?
numbers                                                                                                             § method of data output?
§ thorough testing of the solution                                                                                 § instructions to computer to handle data output?

                                                                                                                    IPO Chart

Concept: Planning & Design: design concepts:             Concept: Planning & Design: design concepts:               Concept: Planning & Design: design concepts
The scope of variables: it is preferred that variables                                            continued:                                              continued:
can only be used in the module in which they were        field testing: give the completed software to a group of   External documentation: documentation for the user in
created. (local variables vs global variables)           people to try out under real working conditions.           print form.
                                                         § bugs are reported to the vendor
global variables: accessed by all modules at the same    § bugs are fixed by the vendor & re-released with a       Internal documentation: written within the algorithm
time without the need to pass their values around.       higher version number.                                     itself.
§ use of global variable often result in errors be-     § it is frowned upon when software is rushed to           §    can be a written block of comments that appear
cause a module may unknowingly change the value.         completion that still have numerable bugs.                 before the actual algorithm. Introduce the reader to
                                                                                                                    the algorithm & includes a brief description of its
thorough testing: one must provide sample input data     prototyping: a partially complete software product.        purpose.
values, run one’s algorithm using this data & check      § usually contains a user-interface & some of the         §    can be single lines of comments embedded in the
that the output is correct.                              fundamental routines.                                      algorithm at appropriate places.
                                                         § allows client feedback                                  §    can use comments to break up the list of coding
desk checking: one keeps track of all variables &        § cheaper than producing a full product                   for the sake of readability.
values on paper & adjusts the values as one goes line    § allows one to clarify some of the requirements
by line through the algorithm.                           Test data:                                                 Listing assumptions: included in introductory
§ all branches must be tested as well as the            § Legal & expected values                                 comments. It tells readers what the algorithm
conditions of all loops.                                 § illegal but expected values                             supports & what it omits.
§ use trace tables with desk checking                   § legal but unexpected values                             §   eg.when reading data from a file, one may say
                                                                                                                    that you assume the file exist.
SDD HSC Planning & Design                                                                                                                                               Page 16 of 43


Concept: Planning & Design: Modules & Functions             Concept: Planning & Design: Modules & Functions           Concept: Planning & Design: Modules & Functions
General Issues                                              Function anatomy                                          Function anatomy                         continued:
decomposition & reusability: the algorithm is broken        Definition: a function can have up to 4 parts. It must    function processing: a function should do something.
down into smaller chunks.                                   have a name & a block of instructions. It may have        It does it something between keywords like BEGIN &
§ if correctly written, can be reused in other             input and/or output but is not mandatory.                 END.
algorithms that have similar tasks: re-usable.              function names: short, readable & meaningful. It tries
                                                            to indicate what the function does. eg.’findBiggest’       local variables: created within a function
function libraries: collections of well-tested & reusable                                                             § no conflict between local variables of one function
functions.                                                  function input: is the data passed to it by the calling   and those of any other function.
§ functions within the library can be activated to do      code.                                                     § are not shared
much of the processing.                                     § also known as arguments or parameters.                 § the same name can be used in many functions
§ most programming languages have ‘standard
function libraries’                                         function output: we output information from a function    Boolean functions: a Boolean value is either true or
                                                            by ‘returning’ it. eg. return bigNum                      false.
call and return mechanism: subprograms are activated        § usually the last instruction in a function but not     §   a function that returns either true or false is called
by being called. Once the subprogram is finished it         necessarily so.                                           a Boolean function.
returns back to the place from which it was called.         § when return is activated the function is ended at      §   called ‘query function’ because they usually
                                                            that instant. also known as: short circuiting             perform a test on the value of their input.
                                                                                                                      §   often have a name starting with ‘is’ eg. isVoter

Concept: Planning & Design: Arrays: basic concepts          Concept: Planning & Design: Advanced sorting &            Concept: Planning & Design: String Processing
                                                            searching techniques                                      Definition: string manipulation routines are found in
                                                                                                                      libraries.
                                                                                                                      concatenation: joins two or more strings together to
                                                                                                                      form one string.
                                                                                                                      trimString: removes all the spaces from the front &
                                                                                                                      rear of a string since users often accidentally types the
                                                                                                                      spaces in.
              See Power Point Presentation                               See Power Point Presentation                 compareStrings: test the alphabetical order of two
                      on arrays                                              on searching, sorting                    strings.
                                                                                                                      toLowerCase, to UpperCase: changes all the char-
                                                                                                                      acters of a string to lower or upper case. Should use
                                                                                                                      when accepting input from a user & comparing it to a
                                                                                                                      answer eg. Hangman, Sight Reading
                                                                                                                      stringContains: sees if one string is located inside
                                                                                                                      another string.
                                                                                                                      string insertion, string length, separation into
                                                                                                                      substrings
SDD HSC Planning & Design                                                                                                                                         Page 17 of 43
Concept: Planning & Design: Records & collections       Concept: Planning & Design: Records & collections          Concept: Planning & Design: Selection of language to
Definition: a record can hold more than one data        collections: refers to the storage & management of         be used.
type. A record has fields & each field is an array.     several or many records.                                   Event-driven software: uses actions to trigger an event
eg. Person is a record containing                       § collections are stored in an array of records for our   eg. mouse click, key presses
  name, a string                                        purposes.                                                  Features: menus, buttons, other objects
  age, a whole number                                                                                              Program logic: polling to check status of events; event
END                                                     Defining the storage: is an algorithm that creates an      parsing to execute the events that are activated by the
                                                        array of records eg. 20 Stock records                      user (Wilson text)
§ a record encapsulates the two variables because                                                                 Uses: games, GUI, computer controlled systems
the Person record is like a capsule.                    Defining the function: defines the fields of a record.
§ a record is the encapsulation of several variables                                                              sequential programming: follows a set of steps to solve
as fields in the one structure                          files: are blocks of data treated as single units          a given problem.
§ the definition of a record is like a template that                                                              Features: standard control structures, variables used,
shows how a particular type of record is structured.    sequential access: one must go through each record in      assignment is to transfer data from one memory
                                                        sequence to get to it. Like a cassette music tape.         location to another.
Nested records: we can use records within records.                                                                 Program logic: order of execution is defined by the
Date is a record containing…                            random access: goes straight to the record location.       programmer. Linear execution of instructions.
Person is a record containing a date (+ other fields)   Like a music track on a compact disk.                      Uses: file & data handling programs such as word
                                                                                                                   processors, databases & spreadsheets.
Concept:                                                Concept:

Definition:                                             Definition:


Summary Points:                  News Article: Y/N      Summary Points:                   News Article: Y/N
§                                                      §
                                                                                                                                      Bibliography
                                                                                                                            Mostly: Fowler SDD HSC text book
§                                                      §                                                               Supplementary: Wilson SDD HSC text book


§                                                      §


Example:                                                Example:
SDD HSC Implementation                                                                                                                                                                                                                 Page 18 of 43



                                                                                                                                              System Development Cycle:
                            T ech ni ca l Docu me n tati o n:
                                    S ou rce cod e                                   Hard wa re
                                                                                                                                                   Implementation
                                     A lg o rith ms                                   S oftware
                                  Data Di ctio n ary                   E ffe ct o f em erg i ng tech n ol o gi e s
                             S yste ms do cum e nta tio n               E ffe ct o n h u ma n e n viro n me nt                                 Desi g n o f In d ivi d ua l scre en s
                         Futu re m ai n ten a nce of the cod e         E ffe ct o n d e vel o pm e nt p ro cess                               Ide n tifi ca ti o n o f da ta re q ui re d
                             S oftware to a ssi st i n the                                                                                    DBM S ca n p rod u ce on scre e n
                             d ocu me n ta ti on p ro cess                                                                                      V B can d esi g n o wn scre en
                                    CAS E to ol s                                                                                                Desi g n o f h e l p scre e ns
                                                                          Hard wa re re q ui re me nts
                                                                                                                                                  A ud i en ce Id en ti fica ti on
                                                                           Mi n i mu m co nfi g ura ti on
                                                                                                                                                 Con si ste ncy i n a pp ro ach
                                                                       P ossi bl e ad d iti o na l ha rd wa re
                                                                                                                          E me rgi n g
                                                                      A pp rop ri ate dri vers, exte nsi o ns
                             Form s o f do cum en ta ti o n :                                                           T ech no l og i e s
                                                                                                                                                                                                B NF, EB NF
                                     P ro cess d ia ry                                                                                                                                   Rai l roa d di a gra ms
                                 Use r do cum e nta tio n                                                                                       Inte rface De sig n                    Mu l ti -d i me n sio n al a rra ys
                                Fun ctio n al d escri pti o n                                            Hard wa re                                                                      A rra ys o f re cord s
                                   Insta l la ti on g ui d e                                           E nvi ron me n t
                                 Intro du ctory Ma n ua l                                                                                                    L an g ua g e
                               S yste m A dm i n. ma n ua l                     Docu me nti o n                                      S DC                     S yn tax
                                                                                                                                                                                                      Ma ch in e co d e
                                     Use r ma n ua l                          S oftware So l uti o n                          Imp l em e nta tio n                  CPU                            Instru cti o n fo rm a t
                                      O nl i n e h el p                                                                         o f S o ftwa re                     Rol e                   Use o f re gi sters a ccu mu l ato rs
                         S el f-do cum e nta tio n of the cod e   S tru ctu re d a pp ro ach to a co mp l ex                      S ol u tio n s                                            Cou n te r, fe tch-e xecu te cycl e
                                                                                    sol u ti on .                                                                                            A dd resse s o f ca l l ed rou ti ne s
                                                                   O ne l og i ca l task pe r su b rou ti ne                                                                                     L in ki ng , use of DLL s
                                                                                      S tu b s
                                                                                      Fla g s                          P ro g ram
                                                                             Isol a tio n of e rro rs                                                                                       Me th od s of T ra n sl a ti on :
                                                                                                                     Deve lo p me n t
                                                                     Deb u gg i ng o utp ut state me n ts                                       T ra n sla ti on                                    Com pi l a tio n
                                                                                                                      T ech ni q ue s
                                                                           E le g an ce o f so l u ti o n                                        Me th od s                                        Inte rpre tati o n
                                                                         Wri ti ng for m ai n ten a nce                                                                                    Incre me n ta l i nte rpre tati o n
                                                                      Dete cti n g & co rrecti n g e rro rs                                                                                   T ra n sla ti on p ro cess
                                                                                S yn tax e rro rs                                                                                         L exi cal a na l ysi s (sca nn i n g)
                                                                                 L og i c e rrors                                                                                        S yn tacti c a n al ysi s (p arsi ng )
                                                                                  P ee r ch e ck                                                                                                  T yp e ch e cki n g
                                                                               Desk ch e cki n g                                                                                                 Cod e g e ne ra ti o n
                                                                         Use o f e xpe cte d ou tpu t                                                                                                T he l in ke r
                                                                              Run -tim e e rrors                                                                                                     T he l oa d er
                                                                              Deb u gg i ng too l s                                                                                                T he op ti mi se r
                                                                                 B re a kpo i nts                                                                                          A dv. Di sa dv of com p il e r,
                                                                      Rese tti n g va ria b l e con te nts                                                                            i nte rpre ter, i ncre me n ta l co m pi l e r
                                                                               P ro g ram tra ces
                                                                            S in g l e l i ne step p in g
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets
SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets

More Related Content

What's hot

Kaedah penyelidikan bab 1 dan 3
Kaedah penyelidikan bab 1 dan 3Kaedah penyelidikan bab 1 dan 3
Kaedah penyelidikan bab 1 dan 3Kamarudin Jaafar
 
Ovulation Stimulation Protocols for IUI
Ovulation Stimulation Protocols for IUIOvulation Stimulation Protocols for IUI
Ovulation Stimulation Protocols for IUIBharati Dhorepatil
 
Tatabahasa kata kerja
Tatabahasa   kata kerjaTatabahasa   kata kerja
Tatabahasa kata kerjaHanie2825
 
INDIVIDUALISED OVARIAN STIMULATION PROTOCOLS
INDIVIDUALISED OVARIAN STIMULATION PROTOCOLSINDIVIDUALISED OVARIAN STIMULATION PROTOCOLS
INDIVIDUALISED OVARIAN STIMULATION PROTOCOLSG K hospital Indore
 
Perdadangan elektronik atau_e
Perdadangan elektronik atau_ePerdadangan elektronik atau_e
Perdadangan elektronik atau_eNurul Amirah
 
Controlled Ovarian Stimulation- An Overview
Controlled Ovarian Stimulation- An OverviewControlled Ovarian Stimulation- An Overview
Controlled Ovarian Stimulation- An OverviewNavyaMuralidhar
 
38295209 penulisan-ilmiah
38295209 penulisan-ilmiah38295209 penulisan-ilmiah
38295209 penulisan-ilmiahPark Long
 
DSKP Sains Tahun 5 SK.pdf
DSKP Sains Tahun 5 SK.pdfDSKP Sains Tahun 5 SK.pdf
DSKP Sains Tahun 5 SK.pdfYaldaf Lee
 
K14 strategi perubahan pendidikan
K14 strategi perubahan pendidikanK14 strategi perubahan pendidikan
K14 strategi perubahan pendidikannormazua
 
Panduan_Mudah_Format_Rujukan_APA_Edisi_K.pdf
Panduan_Mudah_Format_Rujukan_APA_Edisi_K.pdfPanduan_Mudah_Format_Rujukan_APA_Edisi_K.pdf
Panduan_Mudah_Format_Rujukan_APA_Edisi_K.pdfmasturina5
 
Tens Secrets to Ovarian Stimulation
Tens Secrets to Ovarian StimulationTens Secrets to Ovarian Stimulation
Tens Secrets to Ovarian Stimulationjaideepmalhotra1960
 
kepentingan dan implikasi teori-teori pembelajaran dalam meningkatkan keberke...
kepentingan dan implikasi teori-teori pembelajaran dalam meningkatkan keberke...kepentingan dan implikasi teori-teori pembelajaran dalam meningkatkan keberke...
kepentingan dan implikasi teori-teori pembelajaran dalam meningkatkan keberke...Cho Shirley
 
Writing a Thesis Statement
Writing a Thesis StatementWriting a Thesis Statement
Writing a Thesis Statementfatimahraus
 
Ovarian reserve laboratory diagnosis
Ovarian reserve  laboratory diagnosisOvarian reserve  laboratory diagnosis
Ovarian reserve laboratory diagnosisDr. Rajesh Bendre
 
Panduan penulisan refleksi mengajar
Panduan penulisan refleksi mengajarPanduan penulisan refleksi mengajar
Panduan penulisan refleksi mengajarlala111
 

What's hot (20)

Kaedah penyelidikan bab 1 dan 3
Kaedah penyelidikan bab 1 dan 3Kaedah penyelidikan bab 1 dan 3
Kaedah penyelidikan bab 1 dan 3
 
Ovulation Stimulation Protocols for IUI
Ovulation Stimulation Protocols for IUIOvulation Stimulation Protocols for IUI
Ovulation Stimulation Protocols for IUI
 
Penghargaan
PenghargaanPenghargaan
Penghargaan
 
Tatabahasa kata kerja
Tatabahasa   kata kerjaTatabahasa   kata kerja
Tatabahasa kata kerja
 
tugasan morfologi
tugasan morfologi  tugasan morfologi
tugasan morfologi
 
Ringkasan jurnal
Ringkasan jurnalRingkasan jurnal
Ringkasan jurnal
 
INDIVIDUALISED OVARIAN STIMULATION PROTOCOLS
INDIVIDUALISED OVARIAN STIMULATION PROTOCOLSINDIVIDUALISED OVARIAN STIMULATION PROTOCOLS
INDIVIDUALISED OVARIAN STIMULATION PROTOCOLS
 
Perdadangan elektronik atau_e
Perdadangan elektronik atau_ePerdadangan elektronik atau_e
Perdadangan elektronik atau_e
 
Controlled Ovarian Stimulation- An Overview
Controlled Ovarian Stimulation- An OverviewControlled Ovarian Stimulation- An Overview
Controlled Ovarian Stimulation- An Overview
 
38295209 penulisan-ilmiah
38295209 penulisan-ilmiah38295209 penulisan-ilmiah
38295209 penulisan-ilmiah
 
DSKP Sains Tahun 5 SK.pdf
DSKP Sains Tahun 5 SK.pdfDSKP Sains Tahun 5 SK.pdf
DSKP Sains Tahun 5 SK.pdf
 
K14 strategi perubahan pendidikan
K14 strategi perubahan pendidikanK14 strategi perubahan pendidikan
K14 strategi perubahan pendidikan
 
Panduan_Mudah_Format_Rujukan_APA_Edisi_K.pdf
Panduan_Mudah_Format_Rujukan_APA_Edisi_K.pdfPanduan_Mudah_Format_Rujukan_APA_Edisi_K.pdf
Panduan_Mudah_Format_Rujukan_APA_Edisi_K.pdf
 
Tens Secrets to Ovarian Stimulation
Tens Secrets to Ovarian StimulationTens Secrets to Ovarian Stimulation
Tens Secrets to Ovarian Stimulation
 
kepentingan dan implikasi teori-teori pembelajaran dalam meningkatkan keberke...
kepentingan dan implikasi teori-teori pembelajaran dalam meningkatkan keberke...kepentingan dan implikasi teori-teori pembelajaran dalam meningkatkan keberke...
kepentingan dan implikasi teori-teori pembelajaran dalam meningkatkan keberke...
 
Writing a Thesis Statement
Writing a Thesis StatementWriting a Thesis Statement
Writing a Thesis Statement
 
Abad ke 21
Abad ke 21Abad ke 21
Abad ke 21
 
Ovarian reserve laboratory diagnosis
Ovarian reserve  laboratory diagnosisOvarian reserve  laboratory diagnosis
Ovarian reserve laboratory diagnosis
 
Panduan penulisan refleksi mengajar
Panduan penulisan refleksi mengajarPanduan penulisan refleksi mengajar
Panduan penulisan refleksi mengajar
 
Slot 4 pdp berkesan
Slot 4   pdp berkesanSlot 4   pdp berkesan
Slot 4 pdp berkesan
 

Viewers also liked

Desk Chekcing Algorithms
Desk Chekcing AlgorithmsDesk Chekcing Algorithms
Desk Chekcing AlgorithmsKelly Bauer
 
Meta Languages Railroad Diagrams
Meta Languages Railroad DiagramsMeta Languages Railroad Diagrams
Meta Languages Railroad DiagramsKelly Bauer
 
Meta Languages Bnf Ebnf Student Version
Meta Languages Bnf Ebnf Student VersionMeta Languages Bnf Ebnf Student Version
Meta Languages Bnf Ebnf Student VersionKelly Bauer
 
Exam feedback term 1 2011
Exam feedback term 1 2011Exam feedback term 1 2011
Exam feedback term 1 2011Kelly Bauer
 
Algorithms Vs Meta Language
Algorithms Vs Meta LanguageAlgorithms Vs Meta Language
Algorithms Vs Meta LanguageKelly Bauer
 
Feasibilty Report, Packaging
Feasibilty Report, PackagingFeasibilty Report, Packaging
Feasibilty Report, PackagingKhaled Hasan
 
Data Structures - Lecture 8 [Sorting Algorithms]
Data Structures - Lecture 8 [Sorting Algorithms]Data Structures - Lecture 8 [Sorting Algorithms]
Data Structures - Lecture 8 [Sorting Algorithms]Muhammad Hammad Waseem
 

Viewers also liked (9)

Desk Chekcing Algorithms
Desk Chekcing AlgorithmsDesk Chekcing Algorithms
Desk Chekcing Algorithms
 
Meta Languages Railroad Diagrams
Meta Languages Railroad DiagramsMeta Languages Railroad Diagrams
Meta Languages Railroad Diagrams
 
Meta Languages Bnf Ebnf Student Version
Meta Languages Bnf Ebnf Student VersionMeta Languages Bnf Ebnf Student Version
Meta Languages Bnf Ebnf Student Version
 
Exam feedback term 1 2011
Exam feedback term 1 2011Exam feedback term 1 2011
Exam feedback term 1 2011
 
Algorithms Vs Meta Language
Algorithms Vs Meta LanguageAlgorithms Vs Meta Language
Algorithms Vs Meta Language
 
Feasibilty Report, Packaging
Feasibilty Report, PackagingFeasibilty Report, Packaging
Feasibilty Report, Packaging
 
Searching algorithms
Searching algorithmsSearching algorithms
Searching algorithms
 
Data Structures - Lecture 8 [Sorting Algorithms]
Data Structures - Lecture 8 [Sorting Algorithms]Data Structures - Lecture 8 [Sorting Algorithms]
Data Structures - Lecture 8 [Sorting Algorithms]
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 

Similar to SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets

Mso excel 2003 tips & tricks
Mso excel 2003   tips & tricksMso excel 2003   tips & tricks
Mso excel 2003 tips & tricksSkender Beu
 
Rethink Your Job Search
Rethink Your Job SearchRethink Your Job Search
Rethink Your Job SearchCareerTiger
 
March Newsletter 2011 Pacific Advisors
March Newsletter 2011 Pacific AdvisorsMarch Newsletter 2011 Pacific Advisors
March Newsletter 2011 Pacific Advisorsmpitkin
 
MINDCODE CREDENTIALS 2012_DH VF
MINDCODE CREDENTIALS 2012_DH VFMINDCODE CREDENTIALS 2012_DH VF
MINDCODE CREDENTIALS 2012_DH VFDian Hasan
 
Oncotype newsletter
Oncotype newsletter  Oncotype newsletter
Oncotype newsletter Senology.org
 
TAGS: Transparent Armored Gunshields
TAGS: Transparent Armored GunshieldsTAGS: Transparent Armored Gunshields
TAGS: Transparent Armored Gunshields1st_TSG_Airborne
 
The Nintendo Wii Presentation For Canada Professionals 2
The Nintendo Wii Presentation For Canada Professionals 2The Nintendo Wii Presentation For Canada Professionals 2
The Nintendo Wii Presentation For Canada Professionals 2Ben Herz
 
Delray Presentation Microsoft
Delray Presentation MicrosoftDelray Presentation Microsoft
Delray Presentation MicrosoftSerein
 
SHOEfabrik Intro
SHOEfabrik IntroSHOEfabrik Intro
SHOEfabrik IntroDavid Solk
 
Book clutch steps
Book clutch   stepsBook clutch   steps
Book clutch stepsrunwaydiy
 
A C E Explorers 07
A C E  Explorers 07A C E  Explorers 07
A C E Explorers 07DebbieL
 
Supervising management board culture, by Kroese brands & behaviour
Supervising management board culture, by Kroese brands & behaviourSupervising management board culture, by Kroese brands & behaviour
Supervising management board culture, by Kroese brands & behaviourKroese brands & behaviour
 
Idph presentation 4.5.12
Idph presentation 4.5.12Idph presentation 4.5.12
Idph presentation 4.5.12michaelshmarak
 
Unit 2 meaning of adolescence and its implications for public health
Unit 2 meaning of adolescence and its implications for public healthUnit 2 meaning of adolescence and its implications for public health
Unit 2 meaning of adolescence and its implications for public healthDeus Lupenga
 

Similar to SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets (20)

Mso excel 2003 tips & tricks
Mso excel 2003   tips & tricksMso excel 2003   tips & tricks
Mso excel 2003 tips & tricks
 
Vidhi mehta
Vidhi mehtaVidhi mehta
Vidhi mehta
 
Rethink Your Job Search
Rethink Your Job SearchRethink Your Job Search
Rethink Your Job Search
 
March Newsletter 2011 Pacific Advisors
March Newsletter 2011 Pacific AdvisorsMarch Newsletter 2011 Pacific Advisors
March Newsletter 2011 Pacific Advisors
 
MINDCODE CREDENTIALS 2012_DH VF
MINDCODE CREDENTIALS 2012_DH VFMINDCODE CREDENTIALS 2012_DH VF
MINDCODE CREDENTIALS 2012_DH VF
 
YIEF-2011
YIEF-2011YIEF-2011
YIEF-2011
 
Oncotype newsletter
Oncotype newsletter  Oncotype newsletter
Oncotype newsletter
 
TAGS: Transparent Armored Gunshields
TAGS: Transparent Armored GunshieldsTAGS: Transparent Armored Gunshields
TAGS: Transparent Armored Gunshields
 
England Golf Partnerships - EGP
England Golf Partnerships - EGPEngland Golf Partnerships - EGP
England Golf Partnerships - EGP
 
SQLI //MOBILITY SPECIAL EDITION
SQLI //MOBILITY SPECIAL EDITIONSQLI //MOBILITY SPECIAL EDITION
SQLI //MOBILITY SPECIAL EDITION
 
The Nintendo Wii Presentation For Canada Professionals 2
The Nintendo Wii Presentation For Canada Professionals 2The Nintendo Wii Presentation For Canada Professionals 2
The Nintendo Wii Presentation For Canada Professionals 2
 
Delray Presentation Microsoft
Delray Presentation MicrosoftDelray Presentation Microsoft
Delray Presentation Microsoft
 
Air on Android
Air on AndroidAir on Android
Air on Android
 
SHOEfabrik Intro
SHOEfabrik IntroSHOEfabrik Intro
SHOEfabrik Intro
 
Book clutch steps
Book clutch   stepsBook clutch   steps
Book clutch steps
 
A C E Explorers 07
A C E  Explorers 07A C E  Explorers 07
A C E Explorers 07
 
Supervising management board culture, by Kroese brands & behaviour
Supervising management board culture, by Kroese brands & behaviourSupervising management board culture, by Kroese brands & behaviour
Supervising management board culture, by Kroese brands & behaviour
 
Legalism
LegalismLegalism
Legalism
 
Idph presentation 4.5.12
Idph presentation 4.5.12Idph presentation 4.5.12
Idph presentation 4.5.12
 
Unit 2 meaning of adolescence and its implications for public health
Unit 2 meaning of adolescence and its implications for public healthUnit 2 meaning of adolescence and its implications for public health
Unit 2 meaning of adolescence and its implications for public health
 

More from mary_ramsay

Circumference of a Circle
Circumference of a CircleCircumference of a Circle
Circumference of a Circlemary_ramsay
 
RWG 5 For Mac Training Guide
RWG 5 For Mac Training GuideRWG 5 For Mac Training Guide
RWG 5 For Mac Training Guidemary_ramsay
 
Sdd Testing & Evaluating
Sdd Testing & EvaluatingSdd Testing & Evaluating
Sdd Testing & Evaluatingmary_ramsay
 
All meta languages
All meta languagesAll meta languages
All meta languagesmary_ramsay
 
Sdd metalanguage
Sdd metalanguageSdd metalanguage
Sdd metalanguagemary_ramsay
 
The role of the cpu in the operation
The role of the cpu in the operationThe role of the cpu in the operation
The role of the cpu in the operationmary_ramsay
 
Sorting & Extracting Data
Sorting & Extracting DataSorting & Extracting Data
Sorting & Extracting Datamary_ramsay
 
SQL Structure Query Language
SQL Structure Query LanguageSQL Structure Query Language
SQL Structure Query Languagemary_ramsay
 
URL_universal Resourse Locator
URL_universal Resourse LocatorURL_universal Resourse Locator
URL_universal Resourse Locatormary_ramsay
 
IPT Assessment Schedule 2012
IPT Assessment Schedule 2012IPT Assessment Schedule 2012
IPT Assessment Schedule 2012mary_ramsay
 
Normalisation student summary
Normalisation student summaryNormalisation student summary
Normalisation student summarymary_ramsay
 

More from mary_ramsay (12)

Circumference of a Circle
Circumference of a CircleCircumference of a Circle
Circumference of a Circle
 
RWG 5 For Mac Training Guide
RWG 5 For Mac Training GuideRWG 5 For Mac Training Guide
RWG 5 For Mac Training Guide
 
Sdd Testing & Evaluating
Sdd Testing & EvaluatingSdd Testing & Evaluating
Sdd Testing & Evaluating
 
All meta languages
All meta languagesAll meta languages
All meta languages
 
Sdd metalanguage
Sdd metalanguageSdd metalanguage
Sdd metalanguage
 
The role of the cpu in the operation
The role of the cpu in the operationThe role of the cpu in the operation
The role of the cpu in the operation
 
Sorting & Extracting Data
Sorting & Extracting DataSorting & Extracting Data
Sorting & Extracting Data
 
SQL Structure Query Language
SQL Structure Query LanguageSQL Structure Query Language
SQL Structure Query Language
 
URL_universal Resourse Locator
URL_universal Resourse LocatorURL_universal Resourse Locator
URL_universal Resourse Locator
 
IPT Assessment Schedule 2012
IPT Assessment Schedule 2012IPT Assessment Schedule 2012
IPT Assessment Schedule 2012
 
IPT HSC Summary
IPT HSC SummaryIPT HSC Summary
IPT HSC Summary
 
Normalisation student summary
Normalisation student summaryNormalisation student summary
Normalisation student summary
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

SDD HSC Social & Ethical Issues Mindmaps and Summary Sheets

  • 1. SDD HSC Social & Ethical Issues Page 1 of 43 HSC Software Design and Development Mindmaps and Summary Sheets
  • 2. SDD HSC Social & Ethical Issues Page 2 of 43 E nti ced to u p gra de a pp l i ca ti on Resp on se to Pro bl e m s Cro ssgra d e b y co mp e ti n g p ro du cts Q ua l i ty Id en ti fy the d eve lo p me n t p ro bl e m In cre ase co m pu ter p owe r, sto ra g e & re li a b il i ty Und e rsta nd the d eve l op me n t p ro bl e m Cod e o f Co n du ct o utp u t d e vi ces e ase of u se Desi g n & Te st a sol u tio n A ckn owl e dg e a l l co n tri b u to rs con si ste n cy o f u ser Imp l e me nt th e sol u ti on Cle a ran ce to use co p yri g hte d m od u l es i n te rface o f co de Imp ro ve cu rren t ap p i ca ti on d ocu me n ta ti on P ri va cy, secu ri ty of d ata secrets In tro d uce n e w i n no vati o n sftwa re a dh e re to sftwre sta n da rd s Use o f a p pro pri a te p rom pts M ai n ten a nce , su pp o rt o f exi sti n g p rod u ct P re ve nti o n o f sp rea d of viru ses G ov't, B u si n e ss, Ind i vid u al s S ca n re m ova bl e me di a be fo re u se Rel i a bi l i ty Dri ve n b y m o re sop h i sti cate d Care ful vetti n g o f e m ai l P erfo rm wi th ou t fai l u e h ard wa re & p eri p he ral s Not mi xi n g h om e /wo rk a pp l i cati o ns T ho rou g hl y che ck i n pu t da ta M ai n tai n i ng ma rke t p osi tio n L ate st vi rus d efi n iti o n s K ee p to we l l de fi ne d & stan d p ro ce ss fo r E ffe ct o n ma rke tpl a ce sftwre d e vl o p me nt Rig h ts Resp on si bi l i tes S oftware o f De ve l o pe r M arket Nati o na l / In tern ati o n al L eg a l A cti o n In te l l ectu al P ro p erty Y ea r 20 0 0 p rob l em P la g i ari sm Com pu te r vi ruse s S ha rewa re S oci a l & E xa m pl e s Rel i a nce on so ftwa re -> mi crowa ve P ub l i c Dom a in P ira cy & E th i cal O wn e rsh i p vs L i cen si ng Cop yrig h t Issu e s Cop yrig h t L a ws Reve rse En g i ne e ri n g Deco mp i l ati o n Reu se o f exi sti n g m o du l es i n L i ce n se Co n di ti o ns 4 th G en e ra ti on L an g ua g es Network u se In fo rma ti on g ath eri n g to ol P ro j e ct scop e i s con stra i n ed P ira cy & co p yri g ht l a ws E vo l ves i nto ful l y wo rki n g A uto ma ted too l s use d Cop yrig h t l a ws & li ce nse ag ree m en ts p rog ram Defi n e th e p rob l em Con stra i n ts: Data Fl o w P la n th e so l u ti o n Fi na n ci a l Dia g ram B ui l d th e so l uti o n O pe rati o na l IPO Ch a rt Che ck th e so l uti o n T ech ni ca l A lg o rith ms M od i fy th e so lu ti on S ch e du l i ng S yste m Flo w Development & S tru cture d A pp ro ach P ro to typ i ng Dire ct co nve rsi o n P ara l le l con versi on Rap i d A p pl i cati o n d e ve l op m en t P ha sed con versi on Implementation of E nd -use r de vel o pm e nt Com bi n a ti o n o f Ap p roa che s P il o t Co n ve rsio n Software Solutions M eth od s of •Ou tsou rcin g A pp roa ch es: Imp l e me nta ti on Form al to A d -h o c G ea red to su pp o rt sp eci fi c Com me ri ca l System s P op u la r Ap p roa che s: a cti vi ti e s of the S yste m Dev. A cce ssi b l e to l a rge n um b er o f e mp l o ye e s S oftware T re n ds i n S o ftwa re Cycl e e g : S ma l l e n d u sers: off the she l f CAS E T o ol s Deve l op me n t Deve l op me n t T ext ed i ti ng , te st-d a ta g e ne rati o n, P op u la r l an g ua g es d ocu me n t p rep a rati o n, fl ow ch a rt. A pp roa ch es E mp l oym en t Tre nd s V ersi on i n g: v1.0 v1 .1 v1 .3 v2 .0 Networke d so ftwa re Data di cti on a ry O ff th e sh el f Pa cka g e s
  • 3. SDD HSC Social & Ethical Issues Page 3 of 43 Concept: Social & Ethical Issues: Concept: Social & Ethical Issues: Concept: Social & Ethical Issues: Rights responsibilities of software developers Responsibilities continued: Responsibilities continued: code of conduct / practice: quality: measured by a number of criteria: prevention of virus spread: § acknowledge all contributors § reliability § scan removable media before use § clearance to use copyrighted modules of code § ease of use: comfort of the user § careful vetting of email § one should not discuss employer’s or clients § consistency of user interface: placement of similar § not mixing development on home & work requirements or specifications without consent items in the same place machines § one should maintain the privacy of individuals § documentation: process & product are of high § use latest virus definitions § one should use non-threatening prompts or quality message boxes. § sticking to software standards Some issues for developers: § portability reliability: the ability to perform without failure. response to problems: overcome problems in an order- § backward compatibility § thoroughly check input data ly fashion. § modularity § keep to well defined & standard processes for § identify the problem § security software development § understand the development problem § cost constraints § design & test a solution to the develop. problem § operational reliability with other common software § implement the solution Issue: Rights of software developers: Responsibilities of software developers: Concept: Social & Ethical Issues: Piracy & copyright: Authorship Protection of their product against theft & Acknowledge authors & sources particularly in a devel- intellectual property: a personal ownership of the modification opment team creative ideas that develop from someone’s mind. Reliability Protection against operating system, Check that the product works with the hardware & OS hardware, & program problems which that they specify. Ensure there are no run time errors plagiarism: the theft of ideas & expressions of another may make their product unusable. when installed & run as directed. person. Often code is collected for a range of other Quality Codes to ensure others develop programs Use thorough testing procedures & error checking code sources. that follow the same high standard Meet the user’s expectations as much as possible Response Not to be harassed with trivial problems Provided troubleshooting manuals, online help. Provide shareware; software that is distributed for trial use to prob- that could have been solved by the user customer support. Quick response to major or critical before purchase. lems reading the documentation. problems. Make bug fixes freely available to users. Code of All developers follow the same ethical Follow the standards set by members of the profes- public domain: freeware which can be copied & conduct standards. sional association to which they belong. distributed freely. No payment is due. Still covered Viruses Protection of the developer’s products by Ensure they do not distribute viruses with their by copyright. users through the use of good current products or as part of their customer contact such as antivirus products through emails. ownership vs. licensing: payment means the purchaser has the right to use the software but NOT the owner- ship of the software
  • 4. SDD HSC Social & Ethical Issues Page 4 of 43 Concept: Social & Ethical Issues: Concept: Social & Ethical Issues: Concept: Social & Ethical Issues: Piracy & copyright: continued: Software piracy & copyright laws Software Market: reverse/backward engineering: the process of reading Warez commercial packages that have been illegally § gov’t, business & private individuals make up the source code & translating it to an algorithm which then copied or pirated & made publicly available. Pirateers software market. can be modified & recoded elsewhere. have found a way to by-pass the copy-protection. § gov’t, businesses are more likely to need custom § distribution within Australia is illegal written software decompilation: where object code is translated into § deprives the legitimate copyright owners of money § software market driven by more sophisticated code that can be more easily studied by a programmer § some nations have refused to sign a universal hardware & peripherals. eg. as computers became needing to understand the processes carried out. copyright law more powerful, word processing features advanced. licence conditions: spells out exactly how the software relationship -> copyright laws & licence agreements: maintaining market position: aim is to make a profit. may be used by the licence purchaser. It is a legally § licence is a contract § improve the current application binding contract. § single-user licence § introducing new & innovative software applications § multi-user licence § maintenance & support is very important for sur- network use: many programs are available for network § network licence vival of a software company use. Licence indicates how many may use it or it may Business Software Association of Australia § active research & development program in major be a site licence. § educate people software development companies. § centralized: single copy on central server § assist in software management § reputation as an ethical developer § distributed:individual copies on individual machines § help prosecute those in breach of licence agreemnt § bug-free software (or as close as possible) Concept: Social & Ethical Issues: software market Concept: Social & Ethical Issues: software market Effect on the market place Significant social & ethical issues: Definition: software production is a multi-billion dollar industry. National & international legal action resulting from Summary Points: News Article: Y/N software development: § trumpet software vs OzEmail: OzEmail distributed § enticed to update their applications Winsock with their distribution disks but failed to ad- § crossgrade: change to a competing product eg. vise customers they had to register with Winsock. Bibliography: go from Word to WordPerfect word processor Some documentation was omitted or chaned. OzEmail Main: Folwer’s HSC SDD text § more complex software needs more computer was ruled against. Supplementary: Wilson’s HSC SDD text power. § Microsoft operating system & Internet Explorer § Sega vs Accolade: Accolade was within its right to reverse engineer as it had not stolen Sega’s creative works & only needed the secret codes for Accolades games to work on Sega machines. Example: eg. gaming, video editing, digital editing More hard disk storage, RAM & processing speed Public issue: § Y2k millennium bug § computer viruses
  • 5. SDD HSC Software Development Approaches Page 5 of 43 Concept: Software Development Approaches: Concept: Software Development Approaches: Concept: Software Development Approaches: Approaches: commercial systems: structured approach continued structured approach continued: structured approach: follows the software develop. § it takes little to fix a mistake at this stage but be- cycle. It looks at the whole problem & divides it into comes more expensive in the latter stages building the solution: the programming, coding & steps that can be systematically followed to arrive at a § feasibility of a software solution (constraints) testing phase. Everyone is involved. solution. § top-down approach / step-wise refinement § it is time consuming but appropriate for complex planning the solution: involves a further, more in § peer checking, desk checking problems. depth understanding of the needs of the users & § runtime testing § often a team is involved: system analyst, program- a choice of a method(s) to solve the problem. mers, graphic designers, managers, trainers, users § planning the data & program structures checking the solution: a continuous part of the SDC § designing algorithms (system development cycle). structured approach: § planning the user interface § acceptance testing: measured against the original define the problem-> plan the solution-> build the § scheduling the project – Gantt chart specifications solution-> check the solution-> modify the solution § choosing a programming language § real data used § dataflow diagrams, IPO charts used as tools § alpha / beta testing define the problem: thoroughly understand & define § mostly involves the design & checking of § screen design, intuitive the problem itself. algorithm & interfaces § staff training § interviews, collect data, observation, documents, § error handling within the program questionnaire, surveys § specific requirements drawn up Concept: Software Development Approaches: Concept: Software Development Approaches: Concept: Software Development Approaches: structured approach: continued: structured approach: Advantages structured approach is used when: modifying the solution: modifying the solution from § easier to write because it is broken into chunks § project is large scale, complex & is best solved checking the solution. Further testing takes place on § easier to understand because of the use of using modularisation the modifications. Program is either accepted or modi modules; can be easily tracked & connections seen § development budget is large fied further. § easy to test & debug each module separately § time available is considerable § significant changes at this stage can be quite § easy to modify because only some modules need § a easy program to debug, write, understand & expensive to be changed. modify is required. § should only be carried out if small or crucial § a project development team is involved. § in extreme cases, the analyst could recommend the SDC start all over again.
  • 6. SDD HSC Software Development Approaches Page 6 of 43 Concept: Software Development Approaches: Concept: Software Development Approaches: Concept: Software Development Approaches: Prototyping Rapid Applications Development End-user development Definition: involves building a working model that is Definition: any method of software design that uses Definition: where the user adapts existing software evaluated by users. It generally has screens but little tools to quickly generate a program for a user. tools to suit their needs or to obtain a solution to a processing. problem. Summary Points: News Article: Y/N Summary Points: News Article: Y/N Summary Points: News Article: Y/N § it can become the actual solution § uses existing modules to create a solution § a larger number of programs allow the users to § can be used as an information gathering tool existing modules need little or no testing create their own solution that can be used in another program § may reuse code § very informal, little documentation § useful where a lot of computer interaction is § may use CASE tools & templates § buttons & macros can be used to a limited degree required eg. multimedia, internet § requirements of project are well understood § disadv. end users within the same organization § user gives feedback via a prototype § scope is well constrained, focused. often duplicate processes unknowingly. § reduced documentation & faster development § includes adding modifications to existing software compared to structured approach. Use end user development when: Use prototyping when: Use prototyping when: § development involves the user § development is small scale & small budget § very small team, low budget & minimal time § it involves existing software solutions § a smaller team needed § small scale projects § it involves very little cost or time § less time available § a small range of coding languages § it involves small problems § help develop another program Concept: Software Development Approaches: Concept: Software Development Approaches: Concept: Software Development Approaches: Combination of approaches Methods of implementation Methods of implementation Adv. & Disadv. parallel: the old & the new program work together for parallel adv: 2 programs can be compared. Fixing is § Using combinations of the 4 approaches can be a period of time. simpler because old one can be used in emergency carried out. parallel disadv: user stress both systems operated. § eg. the problem could be split in two & the direct cut-over: the new program immediately replaces Confusion between programs. Dual costs - more sections worked on separately using different the old program expensive. Large changes in procedures can cause approaches. confusion. phased: one or more tasks of the new program are direct adv: reduced implementation costs. Less pres- § The ultimate objective is always to produce a gradually implemented until the new program takes sure on users – only 1 program in place properly documented solution to the problem. over all tasks of the old program. direct disadv: data transfer done quickly. No fallback. User stress in training before new program in place. pilot: one section of the organization uses the new phased adv: each task individually tested. Training is program & all other sections continue with the old easier program until a decision is made to put the new phased disadv:difficult to separate the old & new tasks program into place across the whole system. longer time to bring online increases costs. pilot adv: risk confined. Fixing problem is easier as old program is still available. pilot disadv: larger organizations (banks) required to use this method. Multiple sites doing same task.
  • 7. SDD HSC Software Development Approaches Page 7 of 43 Concept: Software Development Approaches: Concept: Software Development Approaches: Concept: Software Development Approaches: Trends in software development: Trends in software development continued: Networked software outsourcing: hiring an outside organization to handle popular languages: Definition: software written for use on centralised all or part of software serverices. § structured environments: C++, Visual Basic, Java networks. Needs to interact with the network oper- § no expense of a full Information Tech. department § informal: spreadsheets, web page,macro recording ing system which handle the security & communi- § effective use of scarce technological assets databases, SQL cations tasks. § difficulty of breaking unsatisfactory contracts § 3rd generation: COBAL & Fortran still popular Summary Points: News Article: Y/N § may not understand the ethos of the organisation § they all have a formal set of rules called syntax § business moving toward personal computers that § may feel it lost its control of is system § all use constants, variables & operators are networked. § some are easier to use than others and some run § security is of particular importance especially with popular approaches: ranges for ad-hoc to formal. faster than others. financial transactions & the Internet. § web-page editors have encouraged end users Network software: § customising off the shelf software Employment trends: § user interface and the system § software accessible to large number of employees § less likely to be permanent employment § application: meets the needs of the end user § greater distribution of code libraries § will tend to be contract work to the business or § database management: manipulation & manage- § increasing use of hypermedia software development company ment of data on the network § increased use of authoring languages § increasingly high educational requirements § network: the means by which communications takes place Concept: Software Development Approaches: Concept: Software Development Approaches: Customised off-the-shelf packages CASE tools Definition: software that is purchased off the shelf & Definition: computer assisted software engineering to can be modified to fit a scenario in a business eg. help in the task of software development & mainten- book keeping software. ance. Summary Points: News Article: Y/N Summary Points: News Article: Y/N § general software to aid the software development § able to create a software solution from an inte- can be considered as CASE tools eg. word processor, Bibliography: grated package eg. spreadsheets, Database, graphics, spreadsheet, graphics software Main: Fowler’s HSC SDD text word processing § data dictionaries Supplementary: Wilson’s HSC SDD text § customizable interface § specialist software does exist but we have seen no § customizable reports practical examples. § conversion of old data to the new system § management of software development includes § lends itself to prototyping approach or an end- versioning the changes eg. v1.0->v1.1->1.1.1->1.2-> user approach. 1.3->v2.0 § documentation generation using CASE tool Example: MYOB, Creating a relational database for § test data generators CASE tool a specific task. eg. Dean’s Merit Awards
  • 8. SDD HSC Software Development Approaches Page 8 of 43 Concept: Software Development Approaches: Concept: Software Development Approaches: Concept: Software Development Approaches: Definition: Definition: Definition: Summary Points: News Article: Y/N Summary Points: News Article: Y/N Summary Points: News Article: Y/N § § § § § § § § § Example: Example: Example: Concept: Software Development Approaches: Concept: Software Development Approaches: Concept: Software Development Approaches: Definition: Definition: Definition: Summary Points: News Article: Y/N Summary Points: News Article: Y/N Summary Points: News Article: Y/N § § § § § § § § § Example: Example: Example:
  • 9. SDD HSC Defining & Understanding the Problem Page 9 of 43 O ve ral l Desi g n S tru cture Ch arts Data Fl o w Di ag ra ms In cl u de s: mo du l e s & th e IPO d ia g ram s i n te ra cti o ns b etwee n m o du l es L i ne a r storyb oa rd Id en ti fyi n g th e p rob l em Hie ra rch i al storyb oa rd P ro b l em de fi ni ti on / fe a sib i l i ty stud y Nee d s Data De si gn : Network sto rybo a rd O bj e cti ve s Id en ti fy d ata ob j ects Hyb ri d storyb oa rd Fea si bi l i ty Id en ti fy d ata typ es S yste m fl owcha rt Is i t worth S o l vi n g? Id en ti fy fi le stru cture S cre e n d esi g n Con stra i n ts Cro ss re fe re n ce L i mi ted Pro totyp e Deci sio n tre e B ud g eta ry co nsi d era tio n s Deci sio n ta b l e O pe rati o na l co n sid e rati o ns S co p e: S tru cture ch a rt T ech ni ca l co nsi d era tio n s How the softwa re fi ts in . S ch e du l i ng Defi n es the b ou n da ri es P ossi bl e Al te rn a tive s Form s o f in p ut/o utp u t S oci a l & Eth i ca l co n si d e ra ti on s d ata Defi n in g th e Pro bl e m Descrip ti on o f p roce ssi n g M od e ll i n g S co p e o f th e pro j ect Nee d to em p owe r th e u ser Desi g n S pe ci fi ca ti o n s Data de si gn G ive s se n se of o wn e rsh i p S DC De fi ni n g & O ve ral l p ro g ram de si gn A ckn owl e dg e u se r's p erspe cti ve Com mu n ica ti on Und e rsta nd i n g In te rface de si gn A cce pti n g fe ed b ack th e P ro b l em P ro ce ss Desi gn Cro ss-re fe re n ce with req u ire me n ts Imp l e me nt. / te stin g d efi n i ti o n G en e ra l pro cesse s fo r Imp l e me nta ti on & te sti n g te sti n g o utl i n ed . Deve l op e r's Pe rspe ctive In sta l la ti on o nto si te is Data typ e s care ful l y pl a nn e d V ari a bl e s A lg o rith ms P ro ce ss Desi gn : Use r's p e rsp e cti ve E ach mo du l e d e scri b ed i n d eta i l System Development Cycle: Descrip ti on o f th e In terfa ce A lg o rith m th at d esri b es mo d ul e Defining Understanding the L oca l d a ta structure s In te rface De sig n : A ny restri cti o ns / li m i ta ti on s Hum an -ma ch in e in te rfa ce Problem How the use r in te ra cts. S pe ci fi ca ti o n s th at d escri be s Cro ss Re fere nce : E nsu res req u i re m en ts m et b y th e i n te rface s b e twe en software . m od u le s, p ro gra m & extern a l In di cate s wh i ch mo d ul e s m e et d evi ces p arti cul a r re q ui re me nts. Dev. Data typ e s: V ari a bl e s: P ersp ecti ve : Is a b l e to ca ter G lo b al , l oca l A lg o rith ms: Con verts cl i e nt's fo r stora g e A pp rop ri ate na m e o f B re a k d o wn p ro b l em wish e s to a V isu a li se d b y th e i tem i n to sma l le r pro b le m s. p rog ram . p rog ram me r & T op -town a p pro a ch e xp re sse d a s a m od e l o n p a pe r Refl e ct th e d ata i n th e p ro bl e m.
  • 10. SDD HSC Defining & Understanding the Problem Page 10 of 43 Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem: Defining the problem: Determining the feasibility of the solution Determining the feasibility of the solution continued: Definition: Problem definition involves examining the Definition: determines whether a problem is worth Possible alternatives: looks at all the other options needs of the users, objectives that the solution is to solving. Constraint is a limitation placed on something. available to solve the problem. meet, the boundaries within which the solution has to financial feasibility: the ability to develop a program § could include leaving the system unchanged work and whether it is feasible. within the money allocated for the project. § rough cost of each alternative § the additional income &/or projected savings need § adv. & disadv. of each alternative Needs: needs of the user, needs of the system (data to be more than the cost of implementing the solution. § analyst makes a recommendation with justification types, storage of facts, perform certain processes & operational feasibility: refers to the skills & resources social & ethical considerations: impact upon people be the output need). needed to complete and maintain the program. it lifestyle or work practices. Objectives: are aims which are measurable. eg. maxi- § eg. artificial intelligence may be worthwhile but § right to privacy: sensitive personal information mum response time. the skills don’t exist yet. § code from other sources need to be dealt with Boundaries: where outputs leave one system & pass § meets the needs of the organization. May refine as per copyright. on to the next system. a worker’s role. § are limits, borders technical feasibility: the availability of hardware and § can be hardware/software requirements software for the product to meet the needs of the program. scheduling feasibility: refers to time requirements. Is it worth solving? There is usually a firm completion date. eg Y2K bug. Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem: Design Specifications: Overall program design: Interface design: Definition: lays down the guidelines for development Definition: One steps back and takes a look at the Definition: the interface between the user & the and give a yardstick to measure the success of the overall design of the program. Usually quite general. program. project. Some aspects include: human-machine interface § structure charts: includes modules & the § give control of the program to the user scope of the project: how the software fits in with the interactions between modules. § enable access to other parts of the program whole system. § consistent screen design eg. navigation § forms of output / input § context / dataflow diagrams § simplicity: easy to learn and use § description of processing to convert input to output § any special processing needs § input processing output charts specifications: that describe the interfaces between data design: identifies the data objects required & the modules, program and external devices. eg. printing resulting data types. § system flow chart from a program § file structure & access covered here cross reference: checking that data items are related to their respective files / modules.
  • 11. SDD HSC Defining & Understanding the Problem Page 11 of 43 Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem: Process design: Implementation & testing: Developer’s perspective Definition: a description of processing. Definition: implementation & testing needs to be Definition: white-box: is concerned with what hap- planned out & specified before they are used. pens & how it happens. Input & output are equally § each module is described in detail. important. § a description of the interface. Includes machine- § general processes for testing outlined. data types: human centered & machine-peripherals § installation onto the actual site needs to be § converts client’s wishes to a program § algorithm that describes each module carefully planned. § choose data types that cater for respective storage § identifies any local data structures within a module § visualised by the programmer & expressed as a § any restrictions / limitations on the module model on paper § data type has to reflect the data in the problem variables: global or local variables may be used. variable name should have meaning. algorithm breaks a large problem into smaller pieces. Uses the top-down approach or step-wise refinement. Each module of algorithm should be given a meaning- ful name. Concept: Define Understand the Problem: Concept: Define Understand the Problem: Modeling: Communication Definition: a system can be represented in some way Definition: should interact with the user throughout to show its structure. the process. § data flow diagarm § IPO chart Summary Points: News Article: Y/N § linear storyboard § it empowers the user § hierarchical storyboard § network storyboard: modules may be accessed § gives the user some sense of ownership Bibliography: directly by other modules. Main: Fowler’s SDD HSC text § hybrid storyboard § acknowledges the user’s perspective Supplementary: Wilson’s SDD HSC text § system flow chart § screen design § demonstrates the ability to accept feedback. § limited prototype § decision tree § decision table § structure chart Need to know how to construct DFD, system flow chart, decision tree/table at least to some depth.
  • 12. SDD HSC Defining & Understanding the Problem Page 12 of 43 Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem:
  • 13. SDD HSC Defining & Understanding the Problem Page 13 of 43 Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem: Concept: Define Understand the Problem:
  • 14. SDD HSC Planning & Design Page 14 of 43 Id en ti fi ca ti o n o f ap p rop ri ate mo du l e s S tru cture d P rog ram m in g In de n ti fi cati o n i n pu ts, p roce sse s & Fun ctio n al Deco mp o si ti o n o utp u ts Use o f M ai n mo d ul e T he sco p e o f va ri ab l es l o ca l pre ferre d Use o f su b m od u l es P assi ng o f p a ra m ete rs Wri tte n sep a rate l y T ho rou g h te sti n g T este d se pa rate l y Desk ch e cki n g u si ng tra ce ta bl e s System Development Cycle: S ho u ld b e i n de p en d en t Fi el d te stin g Re-u se o f m o du l es P ro to typ i ng Planning & Design M ai n ten a nce o n so m e E xte rna l do cum e nta tio n m od u le s on l y n e ed e d In te rn al d ocu me nta ti on L i sti n g a ssu m pti o ns Deco mp o si ti on , reu sab i l i ty P ro b l em So l vi n g Fun ctio n li b rari e s S tra teg y Cal l , re tu rn me ch an i sms Desi g n Con cep ts Fun ctio n an a to m y Reco rds Fun ctio n na me s Data ba se te rmi n ol o g y S DC Pl a nn i n g Fun ctio n in p ut O bj e ct O rie n ted term in o l og y Reco rds & & De sig n of M od u le s & Fun ctio n ou tpu t Usi n g re cord s Col l e cti o ns software Fun ctio n s Fun ctio n pro ce ssi ng Neste d re co rds sol u ti on s L oca l va rab l es Col l e cti o ns B oo l ea n fu n cti o n s Defi n in g th e sto rag e A rra ys (B asi c) Defi n in g th e fu n cti o n s S tri n g P roce ssi n g S orti ng & S e arch in g Nam i ng , cre a ti n g a rrays Hol d s si n gl e da ta typ e A rra ys o f fi xe d l e ng th S tri n g co nce pts: In de xin g arra ys S ea rchi n g a rrays: S tri n g m an i p ul a tio n fun cti o n s a re T ra ve rsi n g a rra ys L i ne a r se arch store d i n li b rari e s S wa p pi n g e l em e nts B in a ry se arch Con cate n ati o n o f 2 stri n g s Fi nd i ng l arg e st val u e i n arra y S orti ng a rra ys: tri mS tri n g Fi nd i ng p osi tio n of l a rg e st va lu e in a rra y B ub b le sort com p are Stri n gs S im p le l i ne a r se arch S el e cti o n so rt to Lo we rCase , to Up p erCase In se rtio n so rt stri n g Co n ta i n s S ee Pow er Point P re s enta tion
  • 15. SDD HSC Planning & Design Page 15 of 43 Concept: Planning & Design: structured Concept: Planning & Design: design concepts Concept: Planning & Design: design concepts programming & functional decomposition identification of appropriate modules: identification of inputs, processes & outputs: § structured programming consists of a main module § read main module first to get overview of the Input: which activates sub-modules. aka modular program- algorithm. Examine sub-modules to get more detailed § type of data? ming (aka = also known as) information. § source of data? § functional decomposition: is the breaking down of § top-down: design main module first, then the sub § method of data input? a complex problem down into functions. modules. also known as (aka) stepwise refinement § instructions to computer to handle data input? § a well written module can be used over & over Process data: § modules should be independent § what steps are taken to process the data? § are loops and/or selection structures needed? Some requirements to generate software solutions: § instructions to computer to handle data § identification of inputs, outputs & processing processing? § id & definition of required data structures Output data: § an understanding where/when to use random § type of data output? numbers § method of data output? § thorough testing of the solution § instructions to computer to handle data output? IPO Chart Concept: Planning & Design: design concepts: Concept: Planning & Design: design concepts: Concept: Planning & Design: design concepts The scope of variables: it is preferred that variables continued: continued: can only be used in the module in which they were field testing: give the completed software to a group of External documentation: documentation for the user in created. (local variables vs global variables) people to try out under real working conditions. print form. § bugs are reported to the vendor global variables: accessed by all modules at the same § bugs are fixed by the vendor & re-released with a Internal documentation: written within the algorithm time without the need to pass their values around. higher version number. itself. § use of global variable often result in errors be- § it is frowned upon when software is rushed to § can be a written block of comments that appear cause a module may unknowingly change the value. completion that still have numerable bugs. before the actual algorithm. Introduce the reader to the algorithm & includes a brief description of its thorough testing: one must provide sample input data prototyping: a partially complete software product. purpose. values, run one’s algorithm using this data & check § usually contains a user-interface & some of the § can be single lines of comments embedded in the that the output is correct. fundamental routines. algorithm at appropriate places. § allows client feedback § can use comments to break up the list of coding desk checking: one keeps track of all variables & § cheaper than producing a full product for the sake of readability. values on paper & adjusts the values as one goes line § allows one to clarify some of the requirements by line through the algorithm. Test data: Listing assumptions: included in introductory § all branches must be tested as well as the § Legal & expected values comments. It tells readers what the algorithm conditions of all loops. § illegal but expected values supports & what it omits. § use trace tables with desk checking § legal but unexpected values § eg.when reading data from a file, one may say that you assume the file exist.
  • 16. SDD HSC Planning & Design Page 16 of 43 Concept: Planning & Design: Modules & Functions Concept: Planning & Design: Modules & Functions Concept: Planning & Design: Modules & Functions General Issues Function anatomy Function anatomy continued: decomposition & reusability: the algorithm is broken Definition: a function can have up to 4 parts. It must function processing: a function should do something. down into smaller chunks. have a name & a block of instructions. It may have It does it something between keywords like BEGIN & § if correctly written, can be reused in other input and/or output but is not mandatory. END. algorithms that have similar tasks: re-usable. function names: short, readable & meaningful. It tries to indicate what the function does. eg.’findBiggest’ local variables: created within a function function libraries: collections of well-tested & reusable § no conflict between local variables of one function functions. function input: is the data passed to it by the calling and those of any other function. § functions within the library can be activated to do code. § are not shared much of the processing. § also known as arguments or parameters. § the same name can be used in many functions § most programming languages have ‘standard function libraries’ function output: we output information from a function Boolean functions: a Boolean value is either true or by ‘returning’ it. eg. return bigNum false. call and return mechanism: subprograms are activated § usually the last instruction in a function but not § a function that returns either true or false is called by being called. Once the subprogram is finished it necessarily so. a Boolean function. returns back to the place from which it was called. § when return is activated the function is ended at § called ‘query function’ because they usually that instant. also known as: short circuiting perform a test on the value of their input. § often have a name starting with ‘is’ eg. isVoter Concept: Planning & Design: Arrays: basic concepts Concept: Planning & Design: Advanced sorting & Concept: Planning & Design: String Processing searching techniques Definition: string manipulation routines are found in libraries. concatenation: joins two or more strings together to form one string. trimString: removes all the spaces from the front & rear of a string since users often accidentally types the spaces in. See Power Point Presentation See Power Point Presentation compareStrings: test the alphabetical order of two on arrays on searching, sorting strings. toLowerCase, to UpperCase: changes all the char- acters of a string to lower or upper case. Should use when accepting input from a user & comparing it to a answer eg. Hangman, Sight Reading stringContains: sees if one string is located inside another string. string insertion, string length, separation into substrings
  • 17. SDD HSC Planning & Design Page 17 of 43 Concept: Planning & Design: Records & collections Concept: Planning & Design: Records & collections Concept: Planning & Design: Selection of language to Definition: a record can hold more than one data collections: refers to the storage & management of be used. type. A record has fields & each field is an array. several or many records. Event-driven software: uses actions to trigger an event eg. Person is a record containing § collections are stored in an array of records for our eg. mouse click, key presses name, a string purposes. Features: menus, buttons, other objects age, a whole number Program logic: polling to check status of events; event END Defining the storage: is an algorithm that creates an parsing to execute the events that are activated by the array of records eg. 20 Stock records user (Wilson text) § a record encapsulates the two variables because Uses: games, GUI, computer controlled systems the Person record is like a capsule. Defining the function: defines the fields of a record. § a record is the encapsulation of several variables sequential programming: follows a set of steps to solve as fields in the one structure files: are blocks of data treated as single units a given problem. § the definition of a record is like a template that Features: standard control structures, variables used, shows how a particular type of record is structured. sequential access: one must go through each record in assignment is to transfer data from one memory sequence to get to it. Like a cassette music tape. location to another. Nested records: we can use records within records. Program logic: order of execution is defined by the Date is a record containing… random access: goes straight to the record location. programmer. Linear execution of instructions. Person is a record containing a date (+ other fields) Like a music track on a compact disk. Uses: file & data handling programs such as word processors, databases & spreadsheets. Concept: Concept: Definition: Definition: Summary Points: News Article: Y/N Summary Points: News Article: Y/N § § Bibliography Mostly: Fowler SDD HSC text book § § Supplementary: Wilson SDD HSC text book § § Example: Example:
  • 18. SDD HSC Implementation Page 18 of 43 System Development Cycle: T ech ni ca l Docu me n tati o n: S ou rce cod e Hard wa re Implementation A lg o rith ms S oftware Data Di ctio n ary E ffe ct o f em erg i ng tech n ol o gi e s S yste ms do cum e nta tio n E ffe ct o n h u ma n e n viro n me nt Desi g n o f In d ivi d ua l scre en s Futu re m ai n ten a nce of the cod e E ffe ct o n d e vel o pm e nt p ro cess Ide n tifi ca ti o n o f da ta re q ui re d S oftware to a ssi st i n the DBM S ca n p rod u ce on scre e n d ocu me n ta ti on p ro cess V B can d esi g n o wn scre en CAS E to ol s Desi g n o f h e l p scre e ns Hard wa re re q ui re me nts A ud i en ce Id en ti fica ti on Mi n i mu m co nfi g ura ti on Con si ste ncy i n a pp ro ach P ossi bl e ad d iti o na l ha rd wa re E me rgi n g A pp rop ri ate dri vers, exte nsi o ns Form s o f do cum en ta ti o n : T ech no l og i e s B NF, EB NF P ro cess d ia ry Rai l roa d di a gra ms Use r do cum e nta tio n Inte rface De sig n Mu l ti -d i me n sio n al a rra ys Fun ctio n al d escri pti o n Hard wa re A rra ys o f re cord s Insta l la ti on g ui d e E nvi ron me n t Intro du ctory Ma n ua l L an g ua g e S yste m A dm i n. ma n ua l Docu me nti o n S DC S yn tax Ma ch in e co d e Use r ma n ua l S oftware So l uti o n Imp l em e nta tio n CPU Instru cti o n fo rm a t O nl i n e h el p o f S o ftwa re Rol e Use o f re gi sters a ccu mu l ato rs S el f-do cum e nta tio n of the cod e S tru ctu re d a pp ro ach to a co mp l ex S ol u tio n s Cou n te r, fe tch-e xecu te cycl e sol u ti on . A dd resse s o f ca l l ed rou ti ne s O ne l og i ca l task pe r su b rou ti ne L in ki ng , use of DLL s S tu b s Fla g s P ro g ram Isol a tio n of e rro rs Me th od s of T ra n sl a ti on : Deve lo p me n t Deb u gg i ng o utp ut state me n ts T ra n sla ti on Com pi l a tio n T ech ni q ue s E le g an ce o f so l u ti o n Me th od s Inte rpre tati o n Wri ti ng for m ai n ten a nce Incre me n ta l i nte rpre tati o n Dete cti n g & co rrecti n g e rro rs T ra n sla ti on p ro cess S yn tax e rro rs L exi cal a na l ysi s (sca nn i n g) L og i c e rrors S yn tacti c a n al ysi s (p arsi ng ) P ee r ch e ck T yp e ch e cki n g Desk ch e cki n g Cod e g e ne ra ti o n Use o f e xpe cte d ou tpu t T he l in ke r Run -tim e e rrors T he l oa d er Deb u gg i ng too l s T he op ti mi se r B re a kpo i nts A dv. Di sa dv of com p il e r, Rese tti n g va ria b l e con te nts i nte rpre ter, i ncre me n ta l co m pi l e r P ro g ram tra ces S in g l e l i ne step p in g