OOSE-Lab 1-10 .DI
OOSE-Lab 1-10 .DI
What is OOAD ?
Object-oriented analysis and design (OOAD) is a software engineering approach that models a
system as a group of interacting objects. Each object represents some entity of interest in the
system being modeled, and is characterized by its class, its state (data elements), and its
behavior. There are a number of different notations for representing these models, such as the
Unified Modeling Language (UML).
Object-Oriented analysis
Object-oriented analysis (OOA) looks at the problem domain, with the aim of producing a
conceptual model of the information that exists in the area being analyzed. Implementation
constraints are dealt during object-oriented design (OOD).
Object-oriented design
Object-oriented design (OOD) transforms the conceptual model produced in object-oriented
analysis to take account of the constraints imposed by the chosen architecture and any non-
functional – technological or environmental – constraints, such as transaction throughput,
response time, run-time platform, development environment, or programming language.
ArgoUML
ArgoUML is an UML diagramming application written in Java and released under the open
source Eclipse Public License. By virtue of being a Java application, it is available on any
platform supported by Java SE.
ArgoUML is different: i) it makes use of ideas from cognitive psychology, ii) it is based on open
standards; iii) it is 100% pure Java; and iv) it is an open source project.
CASE Tools
Computer-aided software engineering (CASE) is the scientific application of a set of tools which
is meant to result in high-quality, defect-free, and maintainable software products.
ArgoUML
ArgoUML is an open source Unified Modeling Language (UML) modeling tool that includes
support for all standard UML 1.4 diagrams. It runs on any Java platform and is available in ten
languages.
FEATURES
• Support open standards extensively: UML, XMI, SVG, OCL and others. •
100% Platform independent thanks to the exclusive use of Java
• Open Source, which allows extending or customizing.
• Cognitive features like
• reflection-in-action
• Design Critics
• Corrective Automations (partially implemented)
• "To Do" List
• User model (partially implemented)
Class Diagram
Helps you visualize the structural or static view of a system.
Sequence Diagram
Illustrates object interacts arranged in a time sequence
Collaboration Diagram
Provides a view of the interactions or structured relationships between objects
in current model.
Emphasizes relation between objects.
a process.
Similar to a flowchart, l a workflow from activity to activity or from activity to state.
Each model contains a single deployment diagram that shows the mapping
of processes to hardware.
The title bar of the window shows the following 4 parts of information,
• An asterisk (*). This item is only present if the current project file is “dirty”, i.e.
it is altered, but not yet saved. In other words, if the asterisk is absent, then the
current file has not been altered.
Introduction
Selenium Components
• Selenium-IDE
• Selenium-RC (Remote Control)
• Selenium-Grid
DINESH.R-8285
PROBLEM STATEMENT
Technology. The questions should be of objective type with multiple options. The
system should be able to handle errors such as 2 options for one answer. After
answering the questions in the preliminary round, the system verifies whether
the student has answered the minimum number of questions in each level. If not,
, he/she can proceed to the finals in the same way. At the end of the quiz the users’
score along with information whether he has been selected or not has to be
Software requirements specification is a blueprint for the development team, providing all the
information they need to build the tool according to your requirements. But it also should outline
your product’s purpose, describing what the application is supposed to do and how it should
perform.
An SRS can vary in format and length depending on how complex the project is and the selected
development methodology. However, there are essential elements every good SRS document
must contain:
Purpose of the digital product is a clear and concise statement that defines the intent
of the solution. This statement should address your needs, outlining what the app will
Description of the product provides a high-level overview of the future tool, including
intended users, the type of environment it will operate in, and any other relevant
scalability.
maintainability.
External interfaces include information about how the application will interact
with other systems it must connect to. So, here communication protocols and data
formats are described. Also, it outlines details of the screen layout, logic interface,
Assumptions and dependencies note the presuppositions made during the SRS
document formulation and any external or third-party dependencies critical for project
Quality attributes define the standards for usability, reliability, and accessibility you
Acceptance criteria specify the must-do list for the software to be considered
finished and ready to go live, including all the tests the software needs to pass and the
DINESH.R-8285
Description:
Use cases are defined to satisfy the goals of the primary actors. Hence, the basic
procedure is:
hardware and application as a unit, that plus a person using it, or an entire
organization?
Step 2: Identify the primary actors those that have goals fulfilled through using
In general, define one use case for each user goal. Name the use case similar to the user
goal. Start the name of use cases with a verb.
A common exception to one use case per goal is to collapse CRUD (create,retrieve,
update, delete) separate goals into one CRUD use case, idiomatically called Manage <X>. For
example, the goals "edit user," "deleteuser," and so forth are all satisfied by the Manage Users
use case.
UML Notation:
stick figure. The role of the user is written beneath the icon. Actors are not
limited to humans.
Use Case: AUse Case is functionality provided by the system, typically described
as verb+object (e.g. Register Car, Delete User). Use Cases are depictedwith an
ellipse. The name of the use case is written within the ellipse.
Association: Associations are used to link Actors with Use Cases, and indicate
that an Actor participates in the Use Case in some form. Associations are
Display Score
The system will consist of Login screen to authenticate the participants whose
maintain the timings. In Level 1 /Level 2 Questions with four options are
displayed sequentially .User select the answer and move to the next question .
Finally he/she selects the Submit answers which updates the marks and displays
the score to the participants. If he is playing Level 1 and qualified for level 2 ,
then next level questions are displayed otherwise Not Qualified Message is
Brief Description
The use case describes how a Participant logs into the Quiz System
3.1.2. Use Case: Play Level 1 /Level 2 ( provide the content same
as above
3.1.3. Use Case: Display Questions ( provide the content same as above)
3.1.4. Use Case: Submit Answers ( provide the content same as above)
3.1.5. Use Case: Qualify to Level 2 ( provide the content same as above)
3.1.6. Use Case: Display Score ( provide the content same as above)
requirements".
Non-functional requirements, can be divided into two main categories:
and scalability, which are embodied in the static structure of the software system.
him/her, he or she should be notified with the message “your time slot is
over”.
95/98/2000/xp compliant.
slot and produces score card with no more than 10% down time.
3.2.4. Performance
2 minutes.
EX.NO:4 UML CLASS DIAGRAM DINESH.R-8285
Description
The class diagram is the main building block in object oriented modeling.They are
being used both for general conceptual modeling of the systematic of the application, and for
detailed modeling translating the models into programming code. The classes in a class
diagram represent both the main objects and or interactions in the application and the objects
to be programmed. In the class diagram these classes are represented with boxes which
contain
three parts
undertake In the system design of a system, a number of classes are identified and
grouped together in a class diagram which helps to determine the statically relations
between those objects. With detailed modeling, the classes of the conceptual
Description
Sequence diagrams document the interactions between classes to achieve a result, such
as a use case. Because UML is designed for object- oriented programming, these
communications between classes are known as messages.The Sequence diagram lists objects
horizontally, and time vertically, and models these messages over time.
Notation :In a Sequence diagram, classes and actors are listed as columns, with
Object :Objects are instances of classes, and are arranged horizontally. The
Actor: Actors can also communicate with objects, so they too can be listed as a
column. An Actor is modeled using the ubiquitous symbol, the stick figure.
SEQUENCE DIAGRAM
COLLABORATION DIAGRAM
Ex No : 6 UML STATE CHART DIAGRAM AND ACTIVITY DIAGRAM
DINESH.R-8285
UML preserves the general form of the traditional state diagrams. The UML
state diagrams are directed graphs in which nodes denote states and connectors
denote state transitions. For example, Figure 1 shows a UML state diagram
represented as arrows, are labeled with the triggering events followed optionally
by the list of executed actions. The initial transition originates from the solid
circle and specifies the default state when the systemfirst begins. Every state
diagram should have such a transition, which should not be labeled, since it is
not triggered by an event. The initial transition can have associated actions.
State Notation:
State Chart Diagram
business level down to the operational level. Activity diagram is a variation ofthe
state diagram where the "states" represent operations, and the transitions
represent the activities that happen when the operation is complete. The general
Activity States
Activity states mark an action by an object. The notations for these states
are rounded rectangles, the same notation as found in State chart diagrams.
Swim lane: Swim lanes divide activities according to objects by arranging objects
in column format and placing activities by that object within that column. Objects
are listed at the top of the column, and vertical bars separatethe columns to
Initial State: The Initial State marks the entry point and the initial Activity
State. The notation for the Initial State is the same as in State chart diagrams,
Final State: Final States mark the end of the modeled workflow. There can be multiple Final
States, and these are modeled using a solid circle surrounded by another circle.
Synchronization Bar: Activities often can be done in parallel. To split processing ("fork"), or
to resume processing when multiple activities have been completed ("join"), Synchronization
Bars are used. These are modeled as solid rectangles, with multiple transitions going in and/or
out.
DINESH.R-8285
Description:
1) Student registration
2) Quiz Participation
3) Result Processing
1) Student Registration
The inputs to the quiz system initially is the student details for the quiz which
1) name
2) year
3) branch
4) college name
When a student enters these details it will be updated in a database. After that
2) Quiz Participation
The correct answers for the questions are stored in a separate database .After
answering the questions in the preliminary round, the system verifies whether the
student has answered the minimum number of questions in each level. If not, a
message is displayed to make the student answer the required number of questions
same way.
3) Result Processing
After all the students have participated in the quiz, the system processes the
marks scored by all the students. The system sorts the marks and generates
Table Structure:
Student Registration
UI LAYER AND DOMAIN LAYER
DINESH.R-8285
1. Creational Patterns:
Singleton Pattern:
- Use the Singleton pattern to ensure that only one instance of a class exists
throughout the application.
- This can be useful for managing resources that should be shared across the
system, such as database connections or configuration settings.
2. Structural Patterns:
Adapter Pattern:
- This is useful when integrating existing components or libraries into the system
without modifying their interfaces.
Decorator Pattern:
Observer Pattern:
Strategy Pattern:
- Apply the Strategy pattern to define a family of algorithms, encapsulate each one,
and make them interchangeable.
- This allows algorithms to vary independently from clients that use them,
enhancing maintainability and flexibility.
4. Architectural Patterns:
Model-View-Controller (MVC):
- Adopt the MVC pattern to separate the presentation, business logic, and data layers
of the application.
Layered Architecture:
DINESH.R-8285
Implementation:
2. Code Refactoring:
3. Unit Testing:
Test edge cases, boundary conditions, and error scenarios to ensure robustness.
4. Integration Testing:
5. System Testing:
Test the system's functionality under typical usage patterns to ensure that
it performs as expected.
2. Boundary Conditions:
Test the system's behavior at the limits of its capabilities, such as maximum
input sizes or resource constraints.
3. Error Handling:
Verify that appropriate error messages are displayed, and the system
gracefully handles failures.
5. Security Testing: