Draw State Diagrams Of The Control Software For An Automatic Washing Machine

A state diagram of the control software for an automatic washing machine that has different programs for different types of clothes.

Activity Diagram vs State Machine Diagram

Activity Diagram

In UML semantics, Activity Diagrams are reducible to State Machines with some additional notations that the vertices represent the carrying out of an activity and the edges represent the transition on the completion of one collection of activities to the commencement of a new collection of activities. Activity Diagrams capture high level activities aspects. In particular, it is possible to represent concurrency and coordination in Activity Diagrams.

Take a look at the Activity Diagram which models the flow of actions for an incident. Such an Activity Diagram focuses on the flow of data within a system.

State Machine Diagram

In State Machines the vertices represent states of an object in a class and edges represent occurrences of events. The additional notations capture how activities are coordinated. Objects have behaviors and states. The state of an object depends on its current activity or condition. A State Machine Diagrams shows the possible states of the object and the transitions that cause a change in state.

Take a look at the State Machine Diagram below. It models the transitioning of states for an incident. Such a state diagram focuses on a set of attributes of a single abstraction (object, system).

CS3043Assignment 1

Due: Feb. 28,2011

1.Whatare the most important differences between generic software product developmentand custom software development? What might this mean in practice for users ofgeneric software products?

2.Basedon your own knowledge of some of the application types discussed in thetextbook (chapter 1, section 1.1.2), explain, with examples, why differentapplication types require specialized software engineering techniques tosupport their design and development.

3.Explainwhy there are fundamental ideas of software engineering that apply to all typesof software systems.

4.Givingreasons for your answer based on the type of system being developed, suggestthe most appropriate generic software process model that might be used as abasis for managing the development of the following systems:

a)Asystem to control anti-lock braking in a car

b)Avirtual reality system to support software maintenance

c)Auniversity accounting system that replaces an existing system

d)Aninteractive travel planning system that helps users plan journey with thelowest environment impact

5.Explainwhy incremental development is the most effective approach for developingbusiness software systems. Why is this model less appropriate for real-timesystems engineering?

6.Suggestwhy it is important to make a distinction between developing the userrequirements and developing system requirements in the requirements engineeringprocess.

7.Explainhow the principles underlying agile methods lead to the accelerated developmentand development of software.

8.Whenwould you recommend against the use of an agile method for developing asoftware system? Explain your answer.

9.Discoverambiguities or omissions in the following statement of requirements for part ofa ticket-issuing systems:

Anautomated ticket-issuing system sells rail tickets. Users select theirdestination and input a credit card and a personal identification number. Therail ticket is issued and their credit card account charged. When the user pressesthe start button, a menu display of potential destinations is activated, alongwith a message to the user to select a destination. Once a destination has beenselected, users are requested to input their credit card. Its validity ischecked and the user is then requested to input a personal identifier. When thecredit transaction has been validated, the ticket is issued.

10.Rewrite the above description using the structuredapproach described in chapter 4 of the textbook. Resolve the identifiedambiguities in an appropriate way.

11.Write a set of non-functional requirements for theticket-issuing system, setting out its expected reliability and response time.

12.You have been asked to develop a system that will helpwith planning large-scale events and parties such us weddings, graduationcelebrations, birthday parties, etc.

(a)Modelingentities and their relationships which are involved in planning events andparties using a UML class diagram.

(b)Modeling the process context for such a system thatshows the activities involved in planning a party (booking a venue, organizinginvitations, etc.), using a UML activity diagram.

13.Develop a sequence diagram showing the interactionsinvolved when a student registers a course in a university. Courses may havelimited enrolment, so the registration process must include checks that placesare available. Assume that the student accesses an electronic course catalog to find out about available courses.

14.Draw a UML state diagram of the control software forONE of the follows:

¡¤Anautomatic washing machine that has different programs for different types ofclothes.

¡¤Thesoftware for a DVD player.

¡¤Atelephone answering system that records incoming messages and displays thenumber of accepted messages on an LED. The system should allow the telephonecustomer to dial in from any location, type a sequence of numbers (identifiedas tones), and play any recorded messages.

15.Explain why design conflicts might arise whendesigning an architecture for which both availability and security requirementsare the most important non-functional requirements.

16.Draw a UML class diagram showing a conceptual view anddraw a UML sequence diagram showing a process view of the architecture of ONEof the following systems:

¡¤Anautomated ticket-issuing system used by passengers at a railway station

¡¤Acomputer-controlled video conferencing system that allows video, audio andcomputer data to be visible to several participants at the same time.

¡¤Arobot floor cleaner that is intended to clean relatively clear spaces such ascorridors. The cleaner must be able to sense walls and other obstructions.

17.For each of the following architectural patternsdescribed in the textbook, describe a real-world or example application systemwhich should be designed using the pattern.

¡¤MVC

¡¤Layered

¡¤Repository

¡¤Client-server

¡¤Pipeand filter

18.Suggest an architecture for asystem (such as iTune) that is used to sell anddistribute music on the internet. What architectural patterns are the basis for this architecture? Explain your answer.

19.Using the basic model of an information system, aspresented in Figure 6.16 of the textbook, suggest the components that might bepart of an information system that allows users to view information aboutflights arriving and departing from a particular airport.

20.Using the UML graphical notation for object classes,design the following object classes, identifying attributes and operations. Useyour own experience to decide on the attributes and operations that should beassociated with these objects:

¡¤Atelephone

¡¤Aprinter for personal computer

¡¤Apersonal stereo system

¡¤Abank account

¡¤Alibrary catalog

21.Identify possible objects in ONE of the followingsystems and develop an object-oriented design for them. Using a UML classdiagram and associated explanation to show your design. You may make manyreasonable assumptions about the system when deriving the design.

¡¤Agroup diary and time management system is intended to support the timetablingof meetings and appointments across a group of co-workers. When an appointmentis to be made that involves a number of people, the system finds a common slotin each of their diaries and arranges the appointment for that time. If nocommon slots are available, it interacts with the user to rearrange his or herpersonal diary to make room for the appointment.

¡¤Afilling station (gas station) is to be set up for fully automated operation.Drivers swipe their credit card through a reader connected to the pump; thecard is verified by communication with a credit company computer, and fuellimit is established. The driver may then take the fuel required. When fuel deliveryis complete and the pump host is returned to its holster, the driver¡¯s creditcard account is debited with the cost of the fuel taken. The credit card is returnedafter debiting. If the card is invalid, the pump returns it before fuel isdispensed.

22.For the Observer design pattern described in thetextbook, describe a real-world or example application which should be designusing the pattern.

23.A small company has developed a specialized productthat it configures specially for each customer. New customers usually havespecific requirements to be incorporated into their system, and they pay forthese to be developed. The company has an opportunity to bid for a newcontract, which would more than double its customer base. The new customer alsowishes to have some involvement in the configuration of the system. Explainwhy, in these circumstances, it might be a good idea for the company owning thesoftware to make it open source.

24.It states that ¡°testing can only detect the presenceof error, not their absence¡±. Do you agree with this statement? If yes, explainwhy. If not, use an example to show how?

25.You have been asked to test a method called ¡°catWhiteSpace¡± in a ¡°Paragraph¡± object that, within theparagraph, replaces sequences if blank characters with a single blank charater. Identify testing partitions for this example andderive a set of tests for the ¡°catWhiteSpace¡± method.

26.What is repression testing? Explain how the use of automatedtests and a testing framework such as JUnitsimplifies repression testing.

Messages are now delivered only as email and there is no control to prevent SPAM and nuisance contributors.We have the moves of firebird-java, firebird-support and firebird-general under way so far. Mysql. As you may noticed, the web interfaces and all message histories have been removed. Has stopped hosting news groups as forums.

27.As a software project manager in a company that specializesin the development of software for offshore oil industry, you have been giventhe task of discovering the factors that affect the maintainability of thesystems developed by your company. Suggest how you might set up a program toanalyze the maintenance process and discover appropriate maintainabilitymetrics for your company.

28.Briefly describe the three main types of software maintenance.Use examples to explain why it sometimes difficult to distinguish between them?

29.Under what circumstances might an organization decideto scrap a system when the system assessment suggests that it is of highquality and of high business value?

30.Do software engineers have a professionalresponsibility to produce code that can be maintained and changed even if thisis not explicitly requested by their employer?

Write your answers in a MS Word file with name ¡°cs3043a1.doc¡±or a PDF file with name ¡°cs1043a1.pdf¡±. Submit the file through the coursewebsite.

Related Post