"Software Engineering": A Practical On
"Software Engineering": A Practical On
A Practical On
Software Engineering
A dissertation submitted to the Rajiv Gandhi Technical University, Bhopal In partial fulfillment of the Degree of Engineering In Computer Science Engineering 2011-2012.
Submitted by: Sourabh Thakur (0823cs091077) Head of Department Miss. Shilpa Jaiswal
1
ABSTRACT The Unified Modeling Language (UML) is a visual language for modeling complex applications. Although most of today's applications have some sort of graphical user interface (GUI), the UML does not specify a diagram capable of creating a model of a GUI's visual appearance. However, coupling GUI design to software design more tightly is desirable to create a complete model of an application prior to implementation, thus to avoid as much errors as possible. A GUI Layout Diagram consists of a Screen, which contains multiple ScreenAreas. Each may be decorated with one or more Stereotypes, representing performed functionalities like text, image or link. By nesting and arranging properly stereotyped ScreenAreas within each other, the developer is able to create an abstract version of a user interface. The Navigational Diagram provides UML-based support for common design artifacts like storyboards and sitemaps. The diagrams created can be linked to Use Case modeling using existing UML mechanisms to specify requirements and context of a particular screen. Additionally, GUI Layout Diagrams may be used with Activities to model workflows and interaction. By aligning the architecture of our profile with UML's extension mechanisms and by using the inherent layout information added to UML 2.0 by Diagram Interchange.
Contents-
1)
About UML Types Of UML Diagram Class Diagram Activity Diagram Use Case Diagram Sequence Diagram Data Flow
2) 3) 4) 5) 6) 7)
What is UML?
UML Unified Modeling Language Standard language for specifying, visualizing, constructing and documenting the artifacts of software systems.
UML defines nine types of diagrams: Class (package) Object Use case Sequence Collaboration Statechart Activity Component
Deployment
Dataflow
CLASS DIAGRAM
Class diagrams are the backbone of almost every object-oriented method including UML. They describe the static structure of a system.
Classes represent an abstraction of entities with common characteristics. Associations represent the relationships between classes. Illustrate classes with rectangles divided into compartments. Place the name of the class in the first partition (centered, bolded, and capitalized), list the attributes in the second partition, and write operations into the third.
Active Class Active classes initiate and control the flow of activity, while passive classes store data and serve other classes. Illustrate active classes with a thicker border.
Visibility
7
Use visibility markers to signify who can access the information contained within a class. Private visibility hides information from anything outside the class partition. Public visibility allows all other classes to view the marked information. Protected visibility allows child classes to access information they inherited from a parent class.
Associations Associations represent static relationships between classes. Place association names above, on, or below the association line. Use a filled arrow to indicate the direction of the relationship. Place roles near the end of an association. Roles represent the way the two classes see each other.
Multiplicity (Cardinality) Place multiplicity notations near the ends of an association. These symbols indicate the number of instances of one class linked to one instance of the other class. For example, one company will have one or more employees, but each employee works for one company only.
8
DESCRIPTION:-
In this class diagram the main class is customer,account,queries,response and password and username is its subclass. Sub class contain many attributes such as register, delete, update, view. Registration contain custid, name, add, city, state,email address , phone no. Cancellation contains only one attribute that is customer id. Updation contain custid,and complaint details.
10
Generalization Generalization is another name for inheritance or an "is a" relationship. It refers to a relationship between two classes where one class is a specialized version of another. For example, Honda is a type of car. So the class Honda would have a generalization relationship with the class car.
11
ACTIVITY DIAGRAMS
An activity diagram illustrates the dynamic nature of a system by modeling the flow of control from activity to activity. An activity represents an operation on some class in the system that results in a change in the state of the system. Typically, activity diagrams are used to model workflow or business processes and internal operation. Because an activity diagram is a special kind of statechart diagram, it uses some of the same modeling conventions.
Action Flow
Action flow arrows illustrate the relationships among action states.
Object Flow
Object flow refers to the creation and modification of objects by activities. An object flow arrow from an action to an object means that the action creates or influences the object. An object flow arrow from an object to an action indicates that the action state uses the object.
12
Initial State
A filled circle followed by an arrow represents the initial action state.
Final State
An arrow pointing to a filled circle nested inside another circle represents the final action state.
Branching
A diamond represents a decision with alternate paths. The outgoing alternates should be labeled with a condition or guard expression. You can also label one of the paths "else."
Synchronization
A synchronization bar helps illustrate parallel transitions. Synchronization is also called forking and joining.
13
Activity diagram
14
Use Case
Draw use cases using ovals. Label with ovals with verbs that represent the system's functions.
Actors
Actors are the users of a system. When one system is the actor of another system, label the actor system with the actor stereotype.
16
Relationships
Illustrate relationships between an actor and a use case with a simple line. For relationships among use cases, use arrows labeled either "uses" or "extends." A "uses" relationship indicates that one use case is needed by another in order to perform a task. An "extends" relationship indicates alternative options under a certain use case.
17
DESCRIPTON: In this use case diagram actor is customer and does all operations. First he login and then make registration for complaints. After registering the complaint the customer can cancel that registered complaint or he can also update that complaint.
18
SEQUENCE DIAGRAM
Sequence diagrams describe interactions among classes in terms of an exchange of messages over time. A sequence diagram in a Unified Modeling Language(UML) is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chat. A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Sequence diagrams typically are associated with use case realizations in the Logical View of the system under development. A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. This allows the specification of simple runtime scenarios in a graphical manner. If the lifeline is that of an object, it demonstrates a role. Note that leaving the instance name blank can represent anonymous and unnamed instances. In order to display interaction, messages are used. These are horizontal arrows with the message name written above them. Sequence diagrams are sometimes called event diagrams, event scenarios, and Timing diagrams.
19
Activation
Activation boxes represent the time an object needs to complete a task.
Messages
Messages are arrows that represent communication between objects. Use half-arrowed lines to represent asynchronous messages. Asynchronous messages are sent from an object that will not wait for a response from the receiver continuing its task.
20
Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over time.
Destroying Objects
Objects can be terminated early using an arrow labeled "<< destroy >>" that points to an X.
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle. Place the condition for exiting the loop at the bottom left corner in square brackets [ ].
21
22
23
24
25
26
27
28
File
0.3
Read Input File
RESULT
Valid Data
DESCRIPTION:In this diagram user first login at zero level dfd. Then in 1sr level it registered the customer detail. After this in 2nd level user booked or cancel or update the tour package choosen by customer.after that user generate bill.
29
E-R DIAGRAM
An entity-relationship (ER) diagram is a specialized graphic that illustrates the interrelationships between entities in a database. The E-R data model grew out of the exercise of using commercially available DBMS's to model the database. The E-R model is the generalization of the earlier available commercial models like the Hierarchical and the Network Model. It also allows the representation of the various constraints as well as their relationships. Entity Relationship and attributes are the basic thin in ER model. E-R Diagram, also known as entity-relationship model .
ER diagrams often use symbols to represent three different types of information. = used to represent entities. = used to represent relationships. = used to represent attributes.
30
REGI STER
CUSTOMER
HAV E
PRODUCTS/ INQUIRIES
Model No
COMPLAINT
STATUS
HAV E
PROBLE M
31
DEPLOYMENT DIAGRAM
Deployment diagrams depict the physical resources in a system including nodes, components, and connections.
Components and Nodes Place components inside the node that deploys them.
32
STATECHART DIAGRAM A statechart diagram shows the behavior of classes in response to external stimuli. This diagram models the dynamic flow of control from state to state within a system. Basic Statechart Diagram Symbols and Notations States States represent situations during the life of an object. You can easily illustrate a state in SmartDraw by using a rectangle with rounded corners.
Transition A solid arrow represents the path between different states of an object. Label the transition with the event that triggered it and the action that results from it.
33
Initial State A filled circle followed by an arrow represents the object's initial state.
Final State An arrow pointing to a filled circle nested inside another circle represents the object's final state.
Synchronization and Splitting of Control A short heavy bar with two transitions entering it represents a synchronization of control. A short heavy bar with two transitions leaving it represents a splitting of control that creates multiple states.
OBJECT DIAGRAM
34
Object diagrams are also closely linked to class diagrams. Just as an object is an instance of a class, an object diagram could be viewed as an instance of a class diagram. Object diagrams describe the static structure of a system at a particular time and they are used to test the accuracy of class diagrams. Basic Object Diagram Symbols and Notations Object names Each object is represented as a rectangle, which contains the name of the object and its class underlined and separated by a colon.
Object attributes As with classes, you can list object attributes in a separate compartment. However, unlike classes, object attributes must have values assigned to them.
Active object
35
Objects that control action flow are called active objects. Illustrate these objects with a thicker border.
Multiplicity You can illustrate multiple objects as one symbol if the attributes of the individual objects are not important.
Links Links are instances of associations. You can draw a link using the lines used in class diagrams.
Self-linked Objects that fulfill more than one role can be self-linked. For example, if Mark, an administrative assistant, also fulfilled the role of a marketing assistant, and the two positions are linked, Mark's instance of the two classes will be self-linked.
TESTING:
36
Testing is a set of activities that can be planned in advance and conducted systematically. The proposed system is tested in parallel with the software that consists of its own phases of analysis, implementation, testing and the software engineering process may be considered as a series of steps where initially, system engineering defines the role of software and leads to software requirement analysis, where the domain, function, behavior, performance, constraints, and validation criteria for software are established. Moving downwards in the list we have design and finally coding. To develop the software, we move upwards that further decrease the level of abstraction on each turn.The scope of testing in this project extends up to the system (in order to ensure effective development of the software.
displayed on the user login and user can begin interaction. provided services User with is the
Register:
Action
Expected Result
Success
Comments
If user gives null values The user is prompted to Yes of username , email id, enter password (any field in password the form) & clicks on submit button . If user selects a user_id The user is prompted to Yes which is already assigned choose another username. to another user. If email id entered by the The user is asked to enter Yes user is incorrect. valid email id. If password & confirm The user is prompted to Yes password fields do not reenter the password. match i.e they are not same. If user registers. username or
3. 4.
5.
38