• Best of luck to the class of 2024 for their HSC exams. You got this!
    Let us know your thoughts on the HSC exams here
  • YOU can help the next generation of students in the community!
    Share your trial papers and notes on our Notes & Resources page
MedVision ad

SDD study thread (1 Viewer)

HailSatan

Member
Joined
Oct 17, 2009
Messages
94
Gender
Undisclosed
HSC
2009
Question - Explain the different types of errors.
Logic Error - When the code compiles without errors, and does not crash or experience runtime errors, but does not achieve the intended result, such as expecting an output of 55 instead of 56

Syntax Error - When the code is incorrectly typed such that the compiler cannot understand what it is the programmer wants it to do, which results in a compilation error. e.g If the programmer forgets to put a semicolon at the end of a line of code

Runtime Error - An error that occurs whilst the program is running and causes it to crash, this can be caused by such things as trying to write to protected memory addresses or dividing by zero


What are some ergonomical issues?
 

Shadowfex

New Member
Joined
Oct 23, 2008
Messages
17
Gender
Male
HSC
2009
Ergonomics relates to the relationship between people and their working environments. There are many ergonomic issues e.g to posture, lighting, noise etc. RSI (repetitive strain injury) is a common issue present in IT based jobs and results from the repetition of simlilar bodily movements. The repetative use of keyboards is a main contributor to workplace RSI injuries. Many companies have invested time and effort into developing ergonomic and user friendly keyboards with the use of palm rests and tilts to ensure maximum comfort to the end-user, in a hope to reduce work and general use injuries.

Q. Describe the different software development approaches (eg. RAD, prototyping etc.)
 
Last edited:

Interdrama

#wang
Joined
Dec 16, 2006
Messages
89
Gender
Undisclosed
HSC
2011
Q. Describe the different software development approaches (eg. RAD, prototyping etc.)

Structured.

The structured development approach employs formal structure for a very controlled and rigid form of development. in the structured approach, large amounts of people are employed, and a large budget and time frame are needed. The structured approach is good for the development of software with a large scope, and is normally used for commercial software. The structured approach involves a large degree of collaboration between developers, and communication is normally done by team meetings. During the structured approach, a large amount of documentation is created, much of which is made to manage the team. The structured approach to software solutions has the five steps. Defining and understanding the problem, Planning and Designing the Solution, Implementation of the solution, Testing and Evaluation of the Solution, and Maintenance of the Solution.

Prototyping.

Prototyping is a method of software design that involves a large amount of contact with the user and client. Prototyping is commonly used when the requirements of the system are not clear at the beginning of production, but are expected to become more clear later, or in situations where the user interface is the most, or one of the most important parts of the solution. Prototyping should not be used when complex mathematical calculations are needed, as there is no data validation in prototyping. Once a prototype is made, an evolutionary process is used, with the developer constantly modifying and receiving feedback on the prototype until it fits the needs of the system. Prototyping is faster than the Structured approach, uses less people, and is cheaper.

RAD Approach.
Rapid Application Design is the approach when a smaller team of people are employed to develop a relatively small solution in a short time frame and a lesser budget. The use of RAD and CASE tools are common in RAD solutions, and many programmers opt to use environments such as Visual Basic to create screen elements in a short time. There is also much focus on the reusing of existing modules and functions, either from open source sources or from the developer's personal library. The RAD approach is the approach most commonly used in smaller solutions when the client has a clear understanding of what he/she wants from the new system.

End-User Approach.
The End-User Approach is when the end-user designs his or her own system by him/herself. There is little documentation required, as they are making the program for their own use, and the end-user approach is both fast and cheap, normally free. However, a license for the development environment still needs to be purchased. The End-User Approach is normally done with COTS, which is the customisation of an off the shelf application. The End-User Approach is only done by people with technological skill.


Question: Describe the elements of a feasibility study.
 
Last edited:

51684

Member
Joined
Dec 21, 2007
Messages
137
Gender
Male
HSC
2009
Going through the 2008 multi-choice questions and Q7 says:

"Which process would you undertake during the 'understanding' phase of the development of a software solution to a complex problem?"

The answer is D, "Representing the system using diagrams"

Isn't that in the 2nd stage? "Planning and Designing Software Solutions"
 

Interdrama

#wang
Joined
Dec 16, 2006
Messages
89
Gender
Undisclosed
HSC
2011
The way I see it is that, in the Planning and Understanding phase of development, you are finding out about what you need to do, and then analysing the problem. You also need to analyse the current system to see what can be improved. You can do this by representing the system using diagrams to gain clarity about the system. Here, you are not actually in the process of making a new solution.

Planning and Designing of Software Solutions is more like how the problem is going to be solved, like creating a structure chart as it shows how the solution works.
 

Amogh

Member
Joined
May 16, 2009
Messages
751
Gender
Undisclosed
HSC
N/A
Question: Describe the elements of a feasibility study.
A feasiblity study basically defines the system requirements, specifies whether the system is possible with the resources at hand and judges its efficiency. The system is planned only if the study proves logical. The study gives an overview of the Economical, Operational, Legal and User(cultural, handicapped, etc.) feasiblity.
Can't remember more
rofl im not meant to be on this thread

What is Reverse Engineering?
 

HailSatan

Member
Joined
Oct 17, 2009
Messages
94
Gender
Undisclosed
HSC
2009
A feasiblity study basically defines the system requirements, specifies whether the system is possible with the resources at hand and judges its efficiency. The system is planned only if the study proves logical. The study gives an overview of the Economical, Operational, Legal and User(cultural, handicapped, etc.) feasiblity.
Can't remember more
rofl im not meant to be on this thread

What is Reverse Engineering?
Reverse engineering is the act of decompiling a binary executable file into more easily readable code, such as Assembly, with the intent of altering the code to one's benefit. It is illegal to do without the author's consent (it might be legal for open source stuff, I dunno?).


Outline the software implementation solutions (pilot, parallel, etc.)
 

Interdrama

#wang
Joined
Dec 16, 2006
Messages
89
Gender
Undisclosed
HSC
2011
Outline the software implementation solutions (pilot, parallel, etc.)
PilotPilot is when a small part of the client organisation trials the new solution for a short period of time, before the solution is presented for use by the entire organisation. Pilot conversion is good as a group of users become more competent in using the program before it is completely implemented, and does not much data loss problems if the new solution fails.

Phased
Phased impementation is when modules from the new solution are added sequentially, with testing occuring after the implementation of each subsequent module. When a module fails, it is then obvious that the module that caused the problem is the one to be last implemented. There is minimal loss of data if the system fails.

ParallelParallel implementation is when both the new and old systems are used concurrently. There is little or no data loss in case of failure, but places twice the load on the manual operations of the system and this should be considered.

Direct Cut-Over
This is quick, however, if the system fails, there is no backup procedure available, leading to loss of great calamity.

Question: Compare BNF and EBNF, correctly this time :)
 

lolrofllol

Member
Joined
Feb 29, 2008
Messages
127
Gender
Male
HSC
2009
Going through the 2008 multi-choice questions and Q7 says:

"Which process would you undertake during the 'understanding' phase of the development of a software solution to a complex problem?"

The answer is D, "Representing the system using diagrams"

Isn't that in the 2nd stage? "Planning and Designing Software Solutions"
If you look at the syllabus, you are modelling the system in the defining and understanding stage to understand it.

The diagrams in the planning stage are actual documentation of the system, not a tool of understanding.

Hope that explains it.

Question: Compare BNF and EBNF, correctly this time :)
Hmm interdrama, finishing SDD HSC in year 10? Nice.

BNF (Backus Naur Form) is a metalanguage (language which describes the syntax of other programming languages). It was developed in an earlier era of computing and contains the symbols:

::= defined as
<> terminal symbols etc.

The main difference between BNF and EBNF (Extended Backus Naur Form) is that BNF used recursion to implement repetition, i.e.

word ::= < letter >< word >

EBNF however, uses braces to implement repetition and uses '=' to define an element, i.e.

word = < letter >{< letter >}

(are there other differences I missed?)
 

Amogh

Member
Joined
May 16, 2009
Messages
751
Gender
Undisclosed
HSC
N/A
PilotPilot is when a small part of the client organisation trials the new solution for a short period of time, before the solution is presented for use by the entire organisation. Pilot conversion is good as a group of users become more competent in using the program before it is completely implemented, and does not much data loss problems if the new solution fails.

Phased
Phased impementation is when modules from the new solution are added sequentially, with testing occuring after the implementation of each subsequent module. When a module fails, it is then obvious that the module that caused the problem is the one to be last implemented. There is minimal loss of data if the system fails.

ParallelParallel implementation is when both the new and old systems are used concurrently. There is little or no data loss in case of failure, but places twice the load on the manual operations of the system and this should be considered.

Direct Cut-Over
This is quick, however, if the system fails, there is no backup procedure available, leading to loss of great calamity.

Question: Compare BNF and EBNF, correctly this time :)
woh dude just realised you are ACTUALLY going to do the HSC this year
=o
dayem your going to get shit loads of free time in 011...

cant explain bnf/ebnf
 

ibrian

Member
Joined
Mar 21, 2008
Messages
67
Gender
Male
HSC
2009
list form:
- fix bugs and errors from poorly implemented code: more efficient
- change to meet new user requirements: user wants more from the existing product
- adding new innovative designs: upgrading interface
- changes in the data to be processed: eg y2k bug, adding new data
- new software/hardware available for use and able to be taken advantaged of
-change in organisational focus, as company's goals and objectives are constantly changing
- change in gov laws: laws constantly changing to reflect social, political and economic circumstances and thus as laws change so do the new requirements of the software project

most simplified versions soz lol

Write the pseudocode for a typical binary search
 

Nivek5

Member
Joined
Dec 2, 2008
Messages
48
Gender
Male
HSC
2009
Write the pseudocode for a typical binary search

i highly doubt this will be a question
BEGIN BinarySearch
Set Low to 1
Set High to number of items in list
Set Found to "false"
Get itemtofind
WHILE High >= Low AND Found = False
Set Middle to INT((Low+High)/2)
If ItemtoFind < Item(middle) THEN
Set High to Middle -1
ELSEIF itemtofind = item(Middle) THEN
Set Found to True
ELSE Set Low To Middle +1
ENDIF
ENDWHILE

If Found = True THEN
Display "Found"
ELSE
Display "not found"
ENDIF
END BinarySearch

So hard to make this neat.

Q. Write Pseudo code for an insertion sort :p
 

51684

Member
Joined
Dec 21, 2007
Messages
137
Gender
Male
HSC
2009
i highly doubt this will be a question
Q. Write Pseudo code for an insertion sort :p
Why do you doubt it will be a question?

Code:
FOR i = 1 To ArraySize
    
     x = Array(i)
     z = i - 1
        
  WHILE z >= 0 And Array(z) > x

       Array(z + 1) = Array(z)
       Array(z) = x
       z = z - 1

  ENDWHILE
        
NEXT i
Q: What is the difference between reverse/backward engineering and decompilation?
 

Shadowfex

New Member
Joined
Oct 23, 2008
Messages
17
Gender
Male
HSC
2009
Reverse/ Backwards engineering is not unique to software engineering however in terms of software development it describes when a developer analyses a piece of software or code in order to understand its functions and relationships between functions. Using this knowledge the programmer or developer can then develop or modify a new piece of software using the ideas gained from reverse/backwards engineering.

De-compilation is a process of reverse engineering object code that has already been compiled. However a decompiler does not know the original higher level source language that has been used and can only output an assembly language. This must then me analysed by a software engineering in order to make sense and use of it.

In both cases without consent of the author's intellectual rights this practice is seen as plagiarism and is illegal.

Q. Define what an assembly language is
 
Last edited:

Fluorescent

Banned
Joined
Apr 5, 2009
Messages
266
Location
Sydney
Gender
Female
HSC
2009
Q. Define what an assembly language is
Assembly language uses the processing power of the computer to translate decimal numbers and letters into binary code and thus, relieving the programmer of the tedium associated with programming in machine language.
It is low-level where only one line of code corresponds to one action by the computer.
e.g. LOAD 10101 (just e.g. not realistic)
STORE 1110


What's the difference between ownership and licensing?
 

HailSatan

Member
Joined
Oct 17, 2009
Messages
94
Gender
Undisclosed
HSC
2009
Only in SDD is reverse engineering somehow different to decompiling...
 

Interdrama

#wang
Joined
Dec 16, 2006
Messages
89
Gender
Undisclosed
HSC
2011
Assembly language uses the processing power of the computer to translate decimal numbers and letters into binary code and thus, relieving the programmer of the tedium associated with programming in machine language.
It is low-level where only one line of code corresponds to one action by the computer.
e.g. LOAD 10101 (just e.g. not realistic)
STORE 1110


What's the difference between ownership and licensing?
Second generation languages use symbolic addressing for the location of variables, whereas first generation languages use direct addressing.

Ownership is having the product of a creative process, and having the rights to use it as they wish. Ownership is transferred normally when custom applications are created for the sole use of one particular organisation. Licensing is when a program written is marketed and sold to many different clients, while the rights of ownership and authorship still belong to the original author(s). A client must follow the software license if he/she is to use the software legally.

Question: How would you persuade future users to accept the changes involved with a new system?
 

Nivek5

Member
Joined
Dec 2, 2008
Messages
48
Gender
Male
HSC
2009
Question: How would you persuade future users to accept the changes involved with a new system?

By involving them with the development, Throughout the entire process, keep them informed, and ask them questions regarding the systems design.

Pretty much make them feel involved lol:p


No point in asking more questions since you should all be cramming the books and sleeping :p
 

Fluorescent

Banned
Joined
Apr 5, 2009
Messages
266
Location
Sydney
Gender
Female
HSC
2009
By involving them with the development, Throughout the entire process, keep them informed, and ask them questions regarding the systems design.

Pretty much make them feel involved lol:p


No point in asking more questions since you should all be cramming the books and sleeping :p
Wa? You noob, exam doesn't start till 1:55.. plenty of time :p
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top