SE450:Exam

From Marks Wiki
Revision as of 19:54, 15 February 2008 by Mark (talk | contribs) (New page: == 2006 Exam == http://www.library.auckland.ac.nz.ezproxy.auckland.ac.nz/data/exambase/2006/S1/softeng450_f_c_06.pdf Questions 1 to 4 aren't topical this year, right? === 5 === As part ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

2006 Exam

http://www.library.auckland.ac.nz.ezproxy.auckland.ac.nz/data/exambase/2006/S1/softeng450_f_c_06.pdf

Questions 1 to 4 aren't topical this year, right?

5

As part of the above document(SRS), you presented, in section 3.2, a list of functional specifications. Outline here one of these and explain what the terms input, output and process mean.

Input is the triggering or data that the system needs to process.

Process is what the system needs to do with the input.

Output is what the process needs to output.


For the deligate scanner example.

input : scanned delegate id

process : save delegate id in attended delegate list for session/presentation

output : updated delegate list for session/presentation

6

Zlee003: User classes refer to the groups of people using the system. User classes are derived from the stakeholders of the system, as identified in the SRS. For the purpose of the Conference Information Gathering System, users are likely to be of two types - academia familiar with conference concepts, and general staff such as ushers and registration personnel. CIGS should therefore cater for both conference domain experts, and users with no prior knowledge or limited technical abilities. The system features are therefore classified according to User Class in Section 3.2, to clarify the intended target for each individual function.

(Do correct me if I'm wrong)

7

either

//@ ensures \result == data.range().int_size();
[This wouldn't work if an EMPLOYEE was mapped to null, ie. the EMPLOYEE is unemployed but still exists in the database]

or

//@ ensures \result == (\num_of COMPANY c; (\exists EMPLOYEE e; data.apply(e) == c && c != null) );
[You'd also need to check that the company is not null, in the case where an EMPLOYEE is unemployed. Updated with improved version]

8

//@ requires duties.isDefinedAt(flatmate1) && duties.isDefinedAt(flatmate2)
//@ 	&& days.isDefinedAt(flatmate1) && days.isDefinedAt(flatmate2);


//@ assignable duties, day;

//@ ensures \old(day).apply(flatmate1) == day.apply(flatmate1)
//@	&& \old(day).apply(flatmate2) == day.apply(flatmate2)
//@	&& \old(duties).apply(flatmate1) == duties.apply(flatmate2)
//@	&& \old(duties).apply(flatmate2) == duties.apply(flatmate1)

Zlee003 agreed

eyeu003 actually isn't it:

//@ requires duties.isDefinedAt(flatmate1) && duties.isDefinedAt(flatmate2)
//@ 	&& days.isDefinedAt(flatmate1) && days.isDefinedAt(flatmate2);
//@    && flatmate1 != flatmate2


//@ assignable duties, day;

//@ ensures \old(day).apply(flatmate2) == day.apply(flatmate1)
//@	&& \old(day).apply(flatmate1) == day.apply(flatmate2)
//@	&& \old(duties).apply(flatmate1) == duties.apply(flatmate2)
//@	&& \old(duties).apply(flatmate2) == duties.apply(flatmate1)

jtho153 no it isn't, days stay the same, only the duty change.

Zlee003 Well if you like you can do this:

//@ requires duties.isDefinedAt(flatmate1) && duties.isDefinedAt(flatmate2)
//@ 	&& days.isDefinedAt(flatmate1) && days.isDefinedAt(flatmate2);
//@    && flatmate1 != flatmate2


//@ assignable duties, day;

//@ ensures \old(day).apply(flatmate2) == day.apply(flatmate1)
//@	&& \old(day).apply(flatmate1) == day.apply(flatmate2)
//@    && \old(day).apply(flatmate1) == day.apply(flatmate1)
//@	&& \old(day).apply(flatmate2) == day.apply(flatmate2)
//@	&& \old(duties).apply(flatmate1) == duties.apply(flatmate2)
//@	&& \old(duties).apply(flatmate2) == duties.apply(flatmate1)

CS732 Questions

https://www.se.auckland.ac.nz/courses/SOFTENG450/tests-exams/example_tools.php

3

Explain briefly why you think the Cognitive Dimensions Framework has had such a strong influence on the Visual Languages Community. (3 marks) Most importantly, traditional usability options are difficult for non-HCI specialists to apply. Moreover, they are very costly, and often, engaging a HCI specialist is not an option. CDs are broad-brushed for cross-domain and multi-dimensional usage. They would therefore be suitable for any visual language, irrespective of domain. The CDF helps ensure that serious problems are not overlooked. It provides a common language for discussion, of both partial and completely formulated concepts. Therefore a Visual Language need not be completely formulated for it to be evaluateable (is there such a word. omg) by the CD framework. It is also suitable for non-interactive artifacts like tables and graphs and is therefore suitable also for evaluating notations. Traditional usability tests are more or less designed for interactive artifacts and would be somewhat unsuitable for such scenarios. Zlee003

4

Burnett describes four common strategies used in Visual Programming Languages: Concreteness, Directness, Explicitness, and Immediate Feedback (or Liveness). Explain briefly what each of these strategies is. (4 marks)

Concreteness : expressing some aspect of a program using particular instances.

Directness : being able to directly manipulate an object. (have a feeling of)

Explicitness : being able to direclty state something with out the need to infer.

Liveness : automatically display edits.

5

Provide a brief description and Cognitive Dimensions Evaluation of one of the Domain Specific Visual Languages discussed in the class exercise on Visual Language Evaluation. (7 marks)

6

Pounamu is a research prototype. Briefly describe three shortcomings of Pounamu that require improvement for it to be commercially useful. (6 marks)

1. Buggy

2. Buggy

3. Buggy

Zlee003 Yea quote me john!

7

Compare and contrast the Metatool approach to software tool construction, exemplified by Pounamu or MetaEdit+, with the Model Driven Architecture (MDA) approach, as exemplified by AndroMDA. (6 marks)

Model engineering treats software engineering as a set of transformations between successive models. Often, software engineering is more than that. MDA has reliance on UML profiles specified by MOF. Metatools do not have this reliance. Platform Specific Models (PSM's) are difficult to construct. A meta-tool on the other hand, usually has code generation features that eliminates the error-prone manual process.

===8=== Explain how the Evolving Frameworks Pattern Language can be used to explain the current state of development of Eclipse and possible future development directions. (7 marks)