World's most popular travel blog for travel bloggers.
Showing posts with label MCS-032. Show all posts
Showing posts with label MCS-032. Show all posts

Referential Integrity
Constraints on associations should be examined for referential integrity implications in the database models. Ask when referential integrity rules should be enforced. Immediately, or at a later time? When you are modeling object instances over time, you may need to introduce extra object classes to capture situations where attribute values can change over time. For instance, if you need to keep an audit trail of all changes to an order or invoice, you could add a date and time attribute to the order or invoice objects to allow for storage of a historical record of their instances. Each change to an instance would result in another instance of the object, stamped for data and time of instance creation.
Insert Rules
These rules determine the conditions under which a dependent class may be inserted and they deal with restrictions that the parent classes impose upon such insertions. The rules can be classified into six types.
Dependent : Permit insertion of child class instance only when the matching parent class instance already exists
Automatic : Always permit insertion of a child class instance. If the parent class instance does not exist, create one
Nullify : Always permit insertion of the child class instance.
Default : Always permit insertion of a child class in séance.
Customized : Allow child class instance insertion only if certain validity constraints are met.
No Effect : Always permit insertion of the child class instance. No matching parent class instances may or may not exist. No validity checking is performed.
Domain integrity
These integrity rules define constraints on valid values that attributes can assume. A domain is a set of valid values for a given attribute, a set of logical of conceptual values from which one or more attributes can draw their values. For example, India state codes might constitute the domain of attributes for employee state codes, customer state codes, and supplier state codes. Domain characteristics include such things as:
• Data type
• Data length
• Allowable value ranges
• Value uniqueness
• Whether a value can be null, or not.
Domain describes a valid set of values for an attribute, so that domain definitions can help you determine whether certain data manipulation operations make sense.


State diagram

A state is a condition during the life of an object, or an interaction, during which, it satisfies some condition, performs some action, or waits for some event. An object remains in a state for a finite (non-instantaneous) time. Actions are atomic and non-interruptible. A state may correspond to ongoing activity. Such activity is expressed as a nested state machine


Objects have behaviors and state. The state of an object depends on its current activity, or condition. A state chart diagram shows the possible states of the object and the transitions that cause a change in state.
A statechart diagram represents a state machine. The states are represented by state symbols, and the transitions are represented by arrows connecting the state


Issues in Concurrency Control
Concurrency control is the process of managing simultaneous execution of transactions (such as queries, updates, inserts, deletes and so on) in a multiprocessing database system without having them interfere with one another.This property of DBMS allows many transactions to access the same database at the same time without interfering with each other.

Problems of Concurrency Control :

When concurrent transactions are executed in an uncontrolled manner, several problems can occur. 
The concurrency control has the following three main problems:
Lost updates.
Dirty read (or uncommitted data).
Unrepeatable read (or inconsistent retrievals).


Object ID

Object identity is a property of an object that distinguishes the objects from all other objects in the applications. With object identity, objects can contain, or refer to other objects. You can create an object identity in three ways:
1) You can refer as memory address in programming languages.
2) Assign identifier keys in the database.
 3) By user-specified names, used for both programming and database. In a complete object oriented system each object is given an identity that will be permanently associated with the object irrespective of the object’s structural or state transitions. The identity of an object is also independent of the location, or address of the object. Object identity provides the most natural modeling primitive to allow the “same object to be a sub-object of multiple parent objects”.
Persistency
When you create an object, it exists for as long as you need it, but under no circumstances do object exist when the program terminates. While this makes sense at first, there are situations in which it would be incredibly useful if an object could exist  and hold its information even while the program is not running. When, next time you start the program, the object would be there and it would have the same information it had the previous time the program was running. Of course, you can get a similar effect by writing the information to a file or to a database, but in the spirit of making everything an object it would be quite convenient to be able to declare an object persistent and have all the details taken care of for you.





Ans. Object and functional model

All four components of the functional model can be related to the object model.
Processes
The functional model shows the processes that have to be implemented in the methods of the objects. The processes in the functional model shows the objects that are related by function. Often one in- or output is the target (client) of a process. The other inputs are the parameters (suppliers). These client-supplier relationships establish implementation dependencies between the related classes.
Actors
These are the objects in the object model.
Data Stores
These are also objects in the object model or attributes of objects
Data Flows
These are values in the object model. Data flows to or from actors represent operations on or by objects. Data flows to or from data stores represent queries or updates.

Dynamic and functional model


The relationship between these two models is that the dynamic model states when operations are perfomed, and the functional model states how they are performed and which arguments are needed. There is however a difference between operations on actors and operations on data stores. Because actors are active objects, the dynamic model has to specify when it acts. The data stores are passive objects, they only respond to updates and queries, therefore you do not have to specify in the dynamic model when they act.

Ans. Aggregation
 Aggregation is a stronger form of association. It represents the has-a or part-of relationship. An aggregation association depicts a complex object that is composed of other objects. You may characterize a house in terms of its roof, floors, foundation, walls, rooms, windows, and so on.  
In UML, a link is placed between the “whole “and “parts” classes, with a diamond head attached to the whole class to indicate that this association is an aggregation. Multiplicity can be specified at the end of the association for each of the part-of classes to indicate the constituent parts. The process of decomposing a complex object into its component objects can be extended until the desired level of detail is reached.


Aggregation helps us describe models of the real world that are composed of other models, as well as those that are composed of still other models. Analysts, at the time of describing a complex system of aggregates, need to describe them in enough detail for the system at hand. In the case of a customer order and services, a customer order is composed not only of header information, but also the detail lines as well.


Ans: Inheritance
Inheritance is taken in the sense of code reuse within the object oriented development. During modeling, we look at the resulting classes, and try to group similar classes together so that code reuse can be enforced. Generalization, specialization, and inheritance have very close association. Generalization is used to refer to the relationship among classes, and inheritance is used for sharing attributes and operations using the generalization relationship. In respect of inheritance, generalization and specialization are two phases of a coin in the sense that if a subclass is seen from a superclass the subclass is seen as a specialized version of superclass and in, reverse, a superclass looks like general form of subclass.
During inheritance, a subclass may override a superclass feature by defining that feature with the same name. The overriding features (the subclass feature with the same names of superclass features) refines and replaces the overridden feature (the superclass feature). 
There are 5 types of inheritance-
1.      single level inheritance
2.      multilevel inheritance
3.      multiple inheritance
4.      hybrid inheritance
5.      hierarchical inheritance.
Advantages  of inheritance-

·         Reusability - facility to use public methods of base class without rewriting the same.
·         Extensibility - extending the base class logic as per business logic of the derived class.
·         Data hiding - base class can decide to keep some data private so that it cannot be altered by the derived class
·         Overriding -With inheritance, we will be able to override the methods of the base class so that meaningful implementation of the base class method can be designed in the derived class.


Ans.  Sequence Diagram For Payment Using Mobile Wallet .



Ans. Advantage of use case diagram
·         Use case help to capture the functional requirements of a system.
·         Use cases are traceable.
·         Use cases can serve as the basis for the estimating, scheduling, and validating effort.
·         Use case can evolve at each iteration from a method of capturing requirements, to development guidelines to programmers, to a test case and finally into user documentation.
·         Use case alternative paths capture additional behavior that can improve system robustness.
·         Use cases have proved to be easily understandable by business users, and so have proven an excellent bridge between software developers and end users.

use case for online examination system


Ans. Class Diagram
 A class diagram is used to support functional requirement of system. In a static design view, the class diagram is used to model the vocabulary of the system, simple collaboration, and logical schema. It contains sets of classes, interfaces, collaborations, dependency, generalization and association relationship. The notation for classes and the relationship between classes is shown as:






Relationship among classes
If in any college, there are limited classrooms that have to be allocated to different classes and instructors are fixed for all classes, then the class diagram for the allocation of classrooms and instructors is shown as:




An object diagram shows a possible instantiation of a class diagram, typically representing a specially interesting scenario that you could create by instantiating the classes (and associations) in your class diagram.
An object diagrams shows a set of objects. For each object you show the type of the object (which again has to be one the classes in the class diagram), the values for the object attributes and links with other objects.
An object diagram is a snapshot of the objects in a system at a point in time. We can use an object diagram to show an example configuration of a snapshot from a class diagram.




Ans. Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the development life cyclesto foster better stakeholder communication and product quality.
According to the popular guide Unified Process, OOAD in modern software engineering is best conducted in an iterative and incremental way. Iteration by iteration, the outputs of OOAD activities, analysis models for OOA and design models for OOD respectively, will be refined and evolve continuously driven by key factors like risks and business value.
It is important to note that with the increasing complexity of systems, importance of modeling techniques increases. Because of its characteristics Object Oriented Modeling is a suitable modeling technique for handling a complex system. OOM basically is building a model of an application, which includes implementation details of the system, during design of the system.
Any system development refers to the initial portion of the software life cycle: analysis, design, and implementation. During object oriented modeling identification and organization of application with respect to its domain is done, rather than their final representation in any specific programming language. We can say that OOM is not language specific. Once modeling is done for an application, it can be implemented in any suitable programming language available.

OOM approach is a encouraging approach in which software developers have to think in terms of the application domain through most of the software engineering life cycle. In this process, the developer is forced to identify the inherent concepts of the application. First, developer organize, and understood the system properly and then finally the details of data structure and functions are addressed effectively.





Internet banking is an electronic payment system that facilitates  customers of a bank or other financial institutionsto conduct a  wide range of financial transactions through the financial  institution’s website. To access financial institut ions’ website, a  customer need to register with the institution for the services and  provide all the details for the verification. Basedon the  verification, customers are allocated passwords.

 The customer visits the financial institution‘s secure website,  enter the password and then does financial transactions. The  financial transactions include obtaining account balances,  payment through e-wallets, a list of recent transactions, electronic  bill payment, and fund transfer from a customer’ accounts to  another account. Most banks also allow customer to  download  copies of bank statements, which can be printed at the customer’s  premises. Some banks may charge for mailing hard copies. The  facility may also enable the customers to order a cheque 
book,  statements, report loss of credit cards and stop payment on a  cheque.
  
The bank also has a provision of an online feedbackfacility to  customers in order to improve its services  

Do the following tasks for the above internet banking problem.
Write short note on followings (minimum in 300 words)
i)  One –way association and two-way association 
ii)  Issues in Concurrency Control 



One way association would be where the two objects have a one-many relationship (for instance an author object and a collection of book title objects). Two way association is where properties of each individual object combine to reference something unique (that neither object can reference on its own). A street number object and a road object. With them both, you get a house address.
To make this confusing, the analogy also works for an author object and book title object. There may be many authors with the same name, many books with the same name, but there is generally only one unique combination of author and book (most authors don't write multiple things and call them all exactly the same thing).






Functional Model and Object Model

The four main parts of a Functional Model in terms of object model are:
  • Process : Processes imply the methods of the objects that need to be implemented.
  • Actors : Actors are the objects in the object model.
  • Data Stores : These are either objects in the object model or attributes of objects.
  • Data Flows : Data flows to or from actors represent operations on or by objects. Data flows to or from data stores represent queries or updates.