Cs504

All current Papers uploaded on uptil now i.e. 31.05.2013 solved by Kaaami

Q. What is Textual Analysis

The first object-orientation technique that we will study is one of the oldest techniques to identify objects and their relationships. This technique is called Textual Analysis. It was initially developed by Abbot and then extended by Graham and others. In this technique different parts of speech are identified within the text of the specification and these parts are modeled using different components. Page 90 Lecture 14

What will you do if there is conflict in Cost and Efficiency software?

A Software engineer is required to analyze these conflicting entities and tries to strike a balance.

Challenge is to balance these requirements.

Software Engineers always confront with the challenge to make a good balance of all these tings depending on the requirements of the particular software system at hand. He should analyze how much weight should all these things get such that it will have acceptable quality, acceptable performance and will have acceptable user-interface. In some software the efficiency is more important and desirable. For example if we talk about a cruise missile or a nuclear reactor controller that are droved by the software systems then performance and reliability is far more important than the cost-effectiveness and user-friendliness. In these cases if your software does not react within a certain amount of time then it may result in the disaster like Chernobyl accident.

Therefore software development is a process of balancing among different characteristics of software described in the previous section. And it is an art to come up with such a good balance and that art can be learned from experience.

How can we decrease coupling?

Object oriented programming is the best way to decrease coupling. As far as the Structural programming is concern that is highly coupled style of programming which is more difficult to understand. By Implementing OOP concepts e.g, encapsulation and data hiding, we can generate a less coupled and efficient system.

What is mutual Communication?

Mutual communication.

Software architecture represents a common high-level abstraction of the system that most, if not all, of the system's stakeholders can use as a basis for creating mutual understanding, forming consensus, and communicating with each other.

Each stakeholder of a software system (customer, user, project manager, coder, tester, and so on) is concerned with different characteristics of the system that are affected by its architecture. Architecture provides a common language in which different concerns can be expressed, negotiated, and resolved at a level that is intellectually manageable, even for large, complex systems. Without such language, it is difficult to understand large systems sufficiently to make the early decisions that influence both quality and usefulness.

Narrates two examples of Aggregation of real world?

The aggregation relationship defines part-of structure among objects. When object A is part of the state of object B, A is said to be contained by B. There are some tradeoffs between aggregation and association relationships. For example

A chair contains back, arms and legs. These are the parts of the Chair, hence aggregated with it.

Now we take an example of subject where midterm syllabus and final term syllabus are the parts of the whole course. Both have their identity as well but actually the parts of the whole syllabus.

arrived at the conclusion' is ------expression and 'concluded' is ------expresssion.

1.concise,verbose

2.verbose,concrete

3.concise,simple

4.verbose,concise

last section of thesis------?

1.biblography

2.index

3.appendicies

4.table and figures

  1. Classify krna tha dynamic and static diagrams k name given the.
  2. Classes given thin association ,inhertitance and aggregation ka btana tha.

Questions are not complete

  1. Opinion pocha tha sequence and collaboration diagram me se konsi better hai ?

The Sequence Diagram

Let us first look at Sequence Diagrams. These diagrams illustrate how objects interacts with each other and emphasize time ordering of messages by showing object interactions arranged in time sequence. These can be used to model simple sequential flow, branching, iteration, recursion and concurrency. The focus of sequence diagrams is on objects (and classes) and message exchanges among them to carry out the scenarios functionality. The objects are organized in a horizontal line and the events in a vertical time line.

Collaboration diagrams

Collaboration diagrams can also be used to depict the dynamic behaviour of a system.

They show how objects interact with respect to organizational units (boundaries!). Since a boundary shapes communication between system and outside world e.g. user interface or other system, collaboration diagrams can be used to show this aspect of the system. The sequence of messages determined by numbering such as 1, 2, 3, 4, … This shows which operation calls which other operation. Collaboration diagrams have basically two types of components: objects and messages. Objects exchange messages among each-other. Collaboration diagrams can also show synchronous, asynchronous, create, and destroy message using the same notation as used in sequence diagrams. Messages are numbered and can have loops

  1. Agr kisi object k attribute me aik object declare ho tu kia relationship ho gi?
  2. Sequence diagram me destruction of object kis trha represent kiya jata hai ?
  3. Coupling ko kaisy decrease kiya jaye?

pinion pocha tha sequence and collaboration diagram me se konsi better hai ?

Sequence diagrams are best to see the flow of time. On the other hand, static object connections are best represented by collaboration diagrams. Sequence of messages is more difficult to understand in collaboration diagrams than in the case of sequence diagrams. On the other hand, object organization with control flow is best seen through
collaboration diagrams. It may be noted that complex control is difficult to express
anyway but collaboration diagrams can become very complex very quick.

Coupling ko kaisy decrease kiya jaye?

The best way to decrease coupling is that we should add action with data it decrease coupling and increase cohesion

Repeated.

Suppose there are two modules A and B, they interact with each other through massage
passing. This is an example of high coupling or low coupling? (2)

Ans:-Low Coupling
Sequences diagram focuses on which two things? (2)
The Sequence Diagram

Let us first look at Sequence Diagrams. These diagrams illustrate how objects interacts with each other and emphasize time ordering of messages by showing object interactions arranged in time sequence. These can be used to model simple sequential flow, branching, iteration, recursion and concurrency. The focus of sequence diagrams is on objects (and classes) and message exchanges among them to carry out the scenarios functionality. The objects are organized in a horizontal line and the events in a vertical time line.

Define the term synchronous and asynchronous messages (3)

Synchronous Messages

Synchronous messages are “call events” and are denoted by the full arrow. They represent nested flow of control which is typically implemented as an operation call. In case of a synchronous message, the caller waits for the called routine to complete its operation before moving forward. That is, the routine that handles the message is completed before the caller resumes execution. Return values can also be optionally indicated using a dashed arrow with a label indicating the return value. This concept is illustrated with the help of the following diagram

How Encapsulation helpful in software engineering? (3)

Encapsulation hides the details of the implementation of an object. Intelligent encapsulation localizes design decisions that are likely to change. The ability to change the representation of an object without disturbing any of its clients is the essential benefit of encapsulation.

A client send authentication request (user name password) to the server and the server
send back the response to the client. (5)

Draw sequences diagram.
------

There was a question based on fill in the blank. Five lists were given containing
relationships given below.
(a) Encapsulation
(b) Inheritance
(c) Classes/Class
(d)Multiple Inheritance
(e) Association
And four fill in the blanks were given. I forgot those fill in the blanks but I remember the
answers. Fill in the order like I fill below.
1. Classes/Class
2. Inheritance
3. Multiple Inheritance
4. Encapsulation
------
Multiple choice were from past papers
Please must prepare the topic (sequence diagram)

Today was my paper of cs504.
10 mcqs came from virtualians.pk file
subject questions were
1. being a requirement engineer whats ur duties?

A requirement engineer should be cognizant of the fact that stakeholders have a tendency to state requirements in very general and vague terms. Some times they trivialize things.

Different stakeholders have different requirements – sometimes even conflicting. On top of that internal politics may influence requirements. The role of stakeholders cannot be overemphasized. A study of over 8300 projects revealed that the top two reasons for any project failure are lack of user input and incomplete requirements.

2. draw lms diagram of aggragaion, associative and inheritance.

3. classify the digram dynamic or static?
4. aik digram given thi wo batana tha whole part structure kaisay hai? ( aggragaion point of view)