You are on page 1of 11

Kurdistan Regional Government-Iraq Ministry of Higher Education and Scientific Research University of Salahaddin - Hawler College of Engineering Department

of Software engineering

Course Book
System Analysis
Academic year (2010-2011) Prepared by: Lecturer Tarik Ahmed Rashid PhD holder from, College of Engineering, Mathematical and Physical Sciences, School of Computer Science and Informatics

Software Engineering, College of Engineering, Salahaddin University

Class: Theory two hours E-mail: tarikrashid4@yahoo.com

Course Objectives: The main objective of this course is to introduce the students with system analysis and different types of methodology. The student will learn unified modeling language and object oriented concepts and will build a UML to solve real applications. Forms of Teaching: As the subject is covered in the class and the lab, so in the theoretical part the data show, pen and board is mostly used to make a frequent step by step communication with the audience. Home works are normally given. Grading: Beside the final exam which has 60 marks, the academic year consists of two semesters; each semester had an exam of 15 marks and in addition to 5 marks for the students activity per each semester. So, the total marks will be: First semester exam: 15% First semester activity: 5% Second semester exam: 15% Second semester activity: 5% Final exam: 60% Course Program: Introduction to software, Types of software System development and

principles and methodologies System development tool Requirements gathering Requirement analys Design Implementation Testing Maintenance and Deployment Agile Methodologies UML Case Studies Other advanced topics

References: Mark Priestley, Practical Object-Oriented Design With UML, McGraw-Hill, 2003. Erich Gamma et al, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.

Easy reading on Extreme Programming: Kent Beck, Extreme Programming Explained, Addison-Wesley, 2000.
QUESTION 1:

Answer with True or False.

[20]

1.

(False) Component diagram can be used to depict state for a particular business activity, can be used to explore/discover parallel activities and do not tell you who does what and are difficult to trace back to object models. 2. (True) The UML deployment diagram shows the physical architecture of a computer based system, it can depict the computers and show their connections with one another and show the software that sits on each machine. Each computer is represented as a cube. 3. (False) Methodology means principles and methods, and one the principles is a verification which means that the developers can take anything for granted, and incorrect assumptions can be corrected easily at the end of a project, and it is cheap and not fatal when it is discovered. 4. (False) A methodology that involves starting coding as soon as you have half an idea of what to do is called Agile Processing

5. (False) Requirements analysis is the most expensive part of the system design process of a software. 6. (False) Open ended question is more related with why this type of question that allows the interviewee to respond in any way. 7. (True) A use case is an external view of the system that represents some action the user might perform in order to complete a task. 8. (True) The extends relationship is used where are similar use cases but one use case does more than the other. 9. (True) Refactoring: is the process of rewriting a computer program or other material to improve its structure or readability, while explicitly preserving its meaning or behavior. 10. (True)Programming style refers to a set of rules used when writing the source code for a computer program, this is called Coding standard.

QUESTION 2: Circle the right option.

[20]

1)

OOA/D stands for a. Object oriented analysis and diagram b. Object oriented analysis and datagram c. Object oriented analysis and design d. Object oriented analysis and dictionary

2) in UML, ----------- are used to model the application domain and can therefore model both the human activity and the application software. a. objects b. systems c. methods d. functions

3) -----------is an interaction between a user and a system. a. b. c. d. e. An Actor A System Adminstrator A system A Case Story A use case

4) ----------- does not need to be human. A subsystem or external system can be modeled as an actor a. An Actor b. A Person c. A system d. A human

5) ------------- Release Planning Meeting can be used to create iteration plans for each individual iteration. a. In Agile Methodology b. In Prototyping c. In Waterfall d. In Spiral model e. In Hacking 6) All production code are created by two people working together at a single computer is called---------a. b. c. d. A single programming Multi programming Pair programming Work group programming

7) Improving design codes in System analysis and design is called--------------

a. b. c. d.

Greenfield design Refactoring Redesigning Logical design

8) In use case diagrams, ------------ can be people, departments, other systems and devices.

a. Systems b. representatives c. nodes d. actors 9) A ---------------- is a named description of a problem and solution that can be applied to new context.

a. sample b. actors c. pattern d. class 10) All code must have---------tests. All code must pass all module tests before it can be released

a. b. c. d. Question 3:

unit integration system acceptance

Suppose you are starting out to design a soft drinks vending machine (SDVM). In order to get the user point of view, you interview a number of potential uses as to how they will interact with machine.

The main functions of a SDVM, is to allow a customer to buy a can of drink, it is likely the users will quickly tell you that they are concerned with a set of scenarios (use cases). In other words, you could buy a drink.

The buy drink, the customer is a customer who wants to purchase a can of drink. The customer initiates this scenario by inserting money into the machine. He then makes a selection. It is possible that the machine is out of the drink the customer wants. It is possible that the customer doses not have the exact amount of money the drink costs.

Another scenario, the machine does not have at least one can of the selected drink, so it presents a message to the customer, say it is out of that brand. Ideally the message should prompt the customer to make another selection. The machine should also offer the option of the setting his money back. At this point customer selects another brand and the machine delivers (if it is not sold out the selection), or takes the option of receiving money. Once again, the customer initiates the scenario in the usual way and then makes a selection.

Let us assume, the machine has the selection in stock, if the machine has a reserve of appropriate change on hand, it returns the difference and delivers the drink. If the machine doses not have a reserve of change, it returns the money and presents message that prompts the user for correct change.

Another possibility is that as soon as the machines change reserve is depleted, a message appears informing potential customers that correct change is required. The message would remain visible until the machines reserve is resupplied by supplier.

For the collect money scenario the collector also initiates because the internal has passed, the collector has to collect the accumulated money from the machine .

For the restock and collect scenarios both supplier and collector initiate their scenarios because some interval has passed. The supplier unsecures the machine and fills each brand compartment to capacity. The supplier also refills the change reserve. The supplier then closes the font for the machine and secures it.

The same thing will be applied to the collector who initiates because an interval has passed. He would follow the sequence of steps as in restock to unsecure the machine. The collector then removes the money from machine and follows the restock steps of closing and securing the machine.

a) Identify all the actors [4] b) Identify all the use cases, c) Identify the relationship and Dependencies, d) Draw the use case diagram

[4] [4] [8]

Question 4:

From Question 3, do the following:

a) Design class diagram [5] b) Design the sequence diagram for the use case of buy drink. [7] c) Design the sequence diagram for the use case of buy drink. [8] Question 5

a. In software engineering, what is meant by a good system?

[10]

Ultimately a good system is one which meets it users need. That is, it must be 1. 2. 3. 4. 5. Useful Reliable Flexible Affordable Available [10]

b. What makes a class model good? Ultimately we have objectives which we aim to meet

1. Build as quickly and cheaply as possible, a system which satisfy our current requirements. 2. Build a system which will be easy to maintain and adapt to future requirements Question 6:

a) What is really different between Structured Analysis & OO Analysis in detail ? [10]

Structured Analysis (SA), and its allied technique, Structured Design (SD), are methods for analyzing and converting business requirements into specifications and ultimately, computer programs, hardware configurations and related manual procedures. Later versions of SA/SD were based on the principles of General Systems Theory.

SA and SD were accompanied by notational methods including structure charts, data flow diagrams and data model diagrams, of which there were many variations.

These techniques were combined in various published System Development Methodologies, including Structured Systems Analysis and Design Method and the Spectrum Structured system development methodology.

Object-oriented analysis (OOA) is concerned with developing software engineering requirements and specifications that expressed as a system's object model (which is composed of a population of interacting objects), as opposed to the traditional data or functional views of systems. OOA can yield the following benefits: maintainability through simplified mapping to the real world, which provides for less analysis effort, less complexity in system design, and easier verification by the user; reusability of the analysis artifacts which saves time and costs; and depending on the analysis method and programming language, productivity gains through direct mapping to features.

b) Explain the advantages and disadvantages of the interview method Advantages

[10]

Give analyst opportunity to motivate interviewee to respond freely and openly Allow analyst to probe for more feedback Permit analyst to adapt or reword questions for each individual Can observe nonverbal communication

Disadvantages Time-consuming Success highly dependent on analyst's human relations skills May be impractical due to location of interviewees

Question7:

a) In Agile Methodology describe Release Planning Meeting? Release planning meeting: o o o o o o

[10]

Establish a release plan. The release plan is used to create iteration plans for each individual iteration. Has a set of rules to balance technical and business decisions/forces to negotiate a schedule. The release plan is based on developer estimates of a set of user stories and customer priorities (time/scope). Customer decides priorities of user stories. Most important first. User stories are selected for an iteration based on either time or scope. Early deliverable with business value is desired.

b) What is the Quality Assurance for the system you develop? Explain in detail. [10] Answer: Quality assurance is the responsibility of a smaller group of people. Some one independent of the work area or project checks that quality control has been performed that has been effective and that the products are complete and suitable for delivery or for further use by someone else with in the project. A formal audit of a software project is an example of quality assurance in action. The principal aim of quality assurance is to achieve confidence that the job or product will be acceptable to the external customer or to those involved in the next stage of development the internal customers .usually this is done by the supplier preferably by someone in an independent quality assurance role and the evidence is recorded and made available to the customer. In effect, quality assurance is a check on quality practice in terms of the performance and effectiveness of the quality plan. In addition to quality control and quality assurance a further level of monitoring is necessary which can be described as quality management. This is the establishment and maintenance of a quality system with in the organization, the company, the division or project and is usually the responsibility of senior people in that area. The hierarchical relationship between quality control, quality assurance and quality management is illustrated in figure.

Is quality pyramid. A quality management system is concerned with implementing the quality policy of an organization. It includes the management of qc and Qa the keeping of records, the maintenance of standards and the identification of individuals responsible for various tasks. Quality control involves ensuring that a task been done correctly .and thus quality assurance is the process of checking that Qc has been carried out satisfactorily so that products are complete and suitable for delivery to the customer.

You might also like