Midterm Test Department: Computer Science Instructor: Steve Easterbrook Date and Time: 9:10am, Friday November 5, 2004



Similar documents
Teachers guide kids voting for the Local Government Elections

Midterm Test Department: Computer Science Instructor: Jennifer Campbell Date and Time: 6:10pm, Thursday March 10, 2005

Voting and the Scottish Parliament

CSC340 Information Systems Analysis and Design page 1/10. Faculty of Arts and Science University of Toronto. Midterm Test

2011 municipal and county council elections

Colorado Secretary of State Election Rules [8 CCR ]

Latino Decisions Poll of Non-Voters November 2014

I Promised a Girl Scout I d Vote Patch Program

Software Development Methodologies in Industry. By: Ahmad Deeb

NBC News/WSJ/Marist Poll. Indiana Questionnaire

Software Development Process

Election Activity Watchers Colorado law & regulations

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

A Comparison between Five Models of Software Engineering

CITIZEN ADVOCACY CENTER

A guide for the Voters. Control unit and Balloting Unit of Electronic Voting Machine

Presiding Officer Training

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

The Electoral Process STEP BY STEP. the worksheet activity to the class. the answers with the class. (The PowerPoint works well for this.

Software Life Cycle. Management of what to do in what order

Individual Electoral Registration Frequently asked questions

1. The Electoral Commission (the Commission) welcomes the UK Government s second consultation on prisoners voting rights.

THE FIELD POLL. By Mark DiCamillo, Director, The Field Poll

PERSONAL LEARNING PLAN- STUDENT GUIDE

MBA K731 (E) Project Management Winter 2014 Course Outline. Information Systems Area DeGroote School of Business McMaster University

Five Roles of Political Parties

2016 General Election Timeline

CLINTON OR CUOMO THUMP GOP IN 2016 NEW YORK PRES RACE, QUINNIPIAC UNIVERSITY POLL FINDS; ADOPTED DAUGHTER RUNS BETTER THAN NATIVE SON

TRAINING FOR TEXAS VOLUNTEER DEPUTY REGISTRARS

Products & Services Catalog

GENERAL INFORMATION ABOUT RUNNING FOR PUBLIC OFFICE

THE FIELD POLL. By Mark DiCamillo, Director, The Field Poll

Mind on Statistics. Chapter 10

Information Systems Development Process (Software Development Life Cycle)

1. Introduction Conditions for Registration Preparation of Register Postal Voters List Special Voters List...

Presidential Nominations

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Election Dates Calendar

CABINET OFFICE ELECTORAL REGISTRATION UNIT HOW TO REGISTER TO VOTE

CSC340S - Information Systems Analysis and Design

European Union Referendum Bill 2015 House of Commons Second Reading briefing

A Survey of Software Development Process Models in Software Engineering

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Classical Software Life Cycle Models

Topline Report: Ohio Election Poll Baldwin Wallace University CRI HOLD FOR RELEASE 6:00 a.m., February 24, 2016

Running for Municipal Office in Alberta

CHAPTER 3 MEMBERSHIP VOTES, ELECTION AND REFERENDA

MBA K731 Project Management Winter 2015 Course Outline- TENTATIVE. Information Systems Area DeGroote School of Business McMaster University

Agile QA Process. Anand Bagmar Version 1.

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

Dynamic Programming Problem Set Partial Solution CMPSC 465

An Electronic Voting System Based On Blind Signature Protocol

P1. All of the students will understand validity P2. You are one of the students C. You will understand validity

5. Which normally describes the political party system in the United States? 1. A political party supports this during an election: A.

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

MICHIGAN: TRUMP, CLINTON IN FRONT

Trump leads GOP field, with Rubio and Cruz next; Clinton leads Sanders among Virginia Democrats

The passage of the Help America Vote Act provided us with these additional reforms:

NBC News/WSJ/Marist Poll January 2016 New Hampshire Questionnaire. Screener <Marist Poll Introduction> Are you 18 years of age or older?

Custom Election Code Template Fact Sheets

Voting with confidence

When is Agile the Best Project Management Method? Lana Tylka

UNIVERSITY OF NAIROBI

NEW YORK STATE Oct , 2010

How To Learn To Be A Political Scientist

The Margin of Error for Differences in Polls

Georgia Secretary of State Organizational Structure

ASC VOTERS GUIDE CITY COLLEGE OF SAN FRANCISCO THE TRUTH SHALL MAKE YOU FREE

Latino Voters in the 2012 Election

How To Develop An Application

VOTE! GET OUT THE. Using MimioStudio and MimioVote This Election Season

This manual outlines two separate processes as ways to participate in the Kentucky Democratic Party:

THE FIELD POLL. By Mark DiCamillo, Director, The Field Poll

Faculty of Social Work. MSW Applicant Information Guide

SASKATCHEWAN VOTERS GUIDE APRIL 4, 2016 PROVINCIAL ELECTION

Voting and Elections Guide. Alpena County Version 1.0 April 2010

Chapter 8 Approaches to System Development

BANKING CHARGES. April 2016

Unit 2 Module 3: Generating Examples and Nonexamples

Withdrawals. Withdrawal from a Course During Withdrawal Period

National Assembly Elections 2015 FACT SHEETS

Release #2343 Release Date: Saturday, July 10, 2010

Transcription:

CSC340 Information Systems Analysis and Design page 1/8 Faculty of Arts and Science University of Toronto Midterm Test Department: Computer Science Instructor: Steve Easterbrook Date and Time: 9:10am, Friday November 5, 2004 Conditions: Duration: Closed Book 50 minutes This test counts for 20% of your final grade Name: (Please underline last name) Student Number: Question Marks 1 /20 2 /20 3 /30 4 /30 Total /100

CSC340 Information Systems Analysis and Design page 2/8 1. [Short Questions; 20 marks total] (a) [Software Lifecycles 5 marks] Name two alternatives to the waterfall model. What are the advantages and disadvantages of each model when used to plan a software development project? Spiral model. Advantages: allows for iterative development, with prototyping and risk management built in to the process. Disadvantages: Might be expensive (and slower) to do lots of iterations. Not clear what happens if there are unexpected changes in business priorities, Incremental development. Advantages: don t need to understand all the requirements before developing the first version. Lessons from early versions feed into later versions. Disadvantages: hard to plan for versions beyond the first. Lessons from early versions might be learnt too late. Might mislead customer if first version doesn t match many of their requirements. [Notes: Other possible lifecycles models include: Incremental development, prototyping, V-model, agile development, XP, etc. Must have both advantages and disadvantages for two different models to get full marks.] (b) [Professional Ethics 5 marks] Describe (in your own words) two different guidelines that you might expect to find in a professional code of ethics for software engineers. In what way are these elements important in Requirements Engineering? Sample answer: 1) Software Engineers should always act consistently with the public interest. 2) Software Engineers should ensure that their products and related modifications meet the highest professional standards possible. In requirements engineering, (1) suggests that the requirements engineer should take into account the needs of the general public as a stakeholder in any systems analysis. For example, if a proposed system might cause harm to people, the environment, or might disadvantage certain groups in society, this should be described fully in the analysis. (2) suggests that requirements engineers should make sure they use industry standards, and adopt state-of-the-art methods and tools, wherever these are shown to be superior. [Notes: give credit for any other reasonable guidelines. Must give clear description of how both the stated guidelines apply in RE to get full marks.]

CSC340 Information Systems Analysis and Design page 3/8 (c) [Systems Theory 5 marks] In systems thinking, the principle of complementarity suggests that different stakeholders are likely to tell you different things about a system they observe. Explain the principle, and state the circumstances to which it applies. Why is it hard to eliminate complementarity? Two descriptions of a system are said to be complementary if they overlap in some respects, but neither can be entirely explained in terms of the other. The principle of complementarity says that this is likely to occur whenever we have different stakeholders giving us partial views of a complex system. Complementarity disappears if the views are not partial, ie. if each stakeholder describes everything that it is possible to observe about a system. However, this is hard to achieve in practice with complex systems, because it is impossible for anyone to observe and describe the system fully. Each person s view is filtered by their own interests and values. (d) [Use Case Diagrams 5 marks] Draw a Use Case Diagram for a voting machine, on which voters can see a list of candidates and select one to vote for. The machine should check that each voter is eligible to vote. The electoral registrar will also want to print a summary of the total votes for each candidate, and (separately) a list of the voters who have voted, and a list of those who haven t. In case of a dispute, the machine should also list a complete record of who voted for whom, but only a judge can use this function. Voter Electoral Registrar Judge See list of candidates Vote Print vote See complete summary Vote record <<extends>> <<uses>> Check eligibility List who voted List who didn t vote Notes: The extends link from the judge s use case isn t obvious, so don t penalize if they missed it.

CSC340 Information Systems Analysis and Design page 4/8 2. [Entity-Relationship Models 20 marks] The following two alternative Entity- Relationship models have been proposed as the basis for a database to hold information about elected presidents and senators in US elections: Person (0,2) (0,n) state From-year Candidate (0,1) member President Party Senator To-year held Party (0,1) Year (0,100) elected Office a) [8 marks] An instance of a relationship is a tuple of entity instances (and attribute values where applicable). Write down one example instance for each of the four relationships shown above. Make up some names if you don t know any American politicians! President: <George W. Bush, Republican Party, 2004> Senator: <Charles E. Schumer, Democratic Party, 2004, New York> Held: <William J. Clinton, President, 1992, 2000> Member: <John F. Kerry, Democratic Party> b) [4 marks] Give an example of a situation that can be represented in the first model, but not the second, and an example of a situation that can be represented in the second model but not the first. The first model allows for the case where a politician changes party between elected offices, because party is a part of each elected relationship. The second model can t capture this. The second model copes well with unusual length electoral terms, because the end of the elected period is explicitly represented. E.g. if an elected office was vacant for a year, it would show up as a gap in the data in the second model, but not in the first. The second model can also accommodate a candidate who is a member of more than one party at once! c) [8 marks] Add multiplicities to both diagrams to show the following constraints. If a constraint cannot be expressed using multiplicities on one or both models, say so below. i. A person/candidate is either a member of a single party, or is an independent. Cannot be expressed on the first model; (0,1) between candidate and member on second ii. A person/candidate can be elected president only twice, but a senator can be elected many times. (0,2) and (0,n) at Person on first model; Cannot be expressed on the second iii. In any given year, up to 100 senators can be elected, but only one president can be elected. (0,1) and (0,100) at year elected on first model; Cannot be expressed on the second iv. A person/candidate can only hold one elected office at once. Cannot be expressed on either model.

CSC340 Information Systems Analysis and Design page 5/8 3. [Sequence Diagrams 30 marks] Draw a Sequence Diagram for the process of registering a new voter who is not currently registered to vote in an upcoming election. Assume that a voter starts by checking the online electoral registration database, to see if she is listed. When she finds that she is not listed, she contacts the electoral registrar, who sends her an application form. As part of the application, she needs to contact the police, to request a copy of her police record, as persons with recent criminal convictions cannot vote. She then sends the police record along with the application form to the registrar. The registrar checks the form is filled out correctly, and then enters her details in the registration database. The registrar then sends an acknowledgement to the voter, who finally checks the online registration database again to confirm that her application was processed. voter :Person AmIRegistered? Online Electoral DB :WebService PersonLookup() Electoral Registration :database Electoral Registrar :Person Police :Person NotRegistered QueryResult() Request application form Send application form RequestPoliceRecord PoliceRecord Application form + Police Record Checkform EnterDetails Acknowledge Registration AmIRegistered? Registered PersonLookup() QueryResult() Notes: This solution assumes that the voter accesses the registration database through a separate web service front end, even though this isn t stated explicitly in the question. It also assumes the police record is obtained by contacting a person in the police department, rather than say through a form or a web service. There are many different ways of labeling the messages, and arranging the diagram. Credit is given for any solution that captures all the important steps described in the question.

CSC340 Information Systems Analysis and Design page 6/8 4. [Statechart Diagrams 30 marks] Draw a statechart diagram for the states that a voter can be in before and during an election. Assume that all voters start out as unregistered. A voter can apply to be registered, at which point her status is registration pending. Once the registration is approved, the voter is registered. At any point, the voter s status can be changed to ineligible, if she moves to a different state, or acquires a criminal record. An ineligible voter can apply to register again. All registration activity ceases once the polls open. If a voter is registered, or has registration pending, she will be allowed to vote. In order to vote, she has to queue at a polling station (if she gets bored of queuing, she can always leave, and may come back later to queue again). When she reaches the front of the queue, the registrar checks her identity. If the check passes, the voter can enter a voting booth to vote. Once she leaves the booth, she is recorded as having voted (even if no vote was cast). At 6pm on election day, the polls close, the election is over, and nobody can vote any more. However, if a voter is already in a queue waiting to vote, she will still be allowed to vote (i.e. the polls cannot close if there is anyone still in the queue or the voting booths). Not on register Polling Unregistered Polls open Eligible to vote Polls close queue leave Ineligible Queuing Reject Move out of state apply Get convicted Registering Registration pending Reach front fails Being checked passes In Booth approve Polls open leaves Registered Voted Polls close Notes: This solution suggests voters who aren t eligible to vote can t even queue, which is probably not true in reality. Other ways of grouping states into superstates are possible this one was chosen for convenience to minimize number of repeated transitions.

CSC340 Information Systems Analysis and Design page 7/8 [scratch paper]

CSC340 Information Systems Analysis and Design page 8/8 [scratch paper]