Object-Oriented Analysis techniques covering requirements elicitation and object analysis model development delivered to post-graduate students of Object Oriented Software Engineering
Master sequence diagrams with this sequence diagram guide. It describes everything you need to know on sequence diagram notations, best practices as well as common mistakes. It also explains how to draw a sequence diagram step by step. Plus it offers Creately sequence diagram templates you can click and edit right away.
Developed the Inventory Management System for ERP Implementing in Manufacturi...Sushil kumar Choudhary
This paper deals with development of inventory management system for a manufacturing Industry. The developed software System is easy to use, less time consuming & all detail about the inventory items & transaction status. Enterprise Resource Planning (ERP) software presents a frame work for organizations to better utilize their processes. The report is about windows based application. The Front-end is developed using Visual Basic. A visual programming environment provides all features that are required to develop graphical user interface as ready to use components. The programmer does not have to write code to create and display commonly required user-friendly features each time around. The Backend used is SQL server database that ensures total security and no data loss or corruption. The database management systems are warehouses of information, where large amount of data can be stored. The Reports are developed using Crystal Report. Crystal Reports is the standard reporting tool for Visual Studio .NET. It brings the ability to create interactive, presentation-quality content; to the .NET platform. Crystal report is an integral part of the Visual Studio .NET environment. The main idea of this paper is to handle the all details of inventory management system. In this software package has been developed to smoothen the processing of item transaction in inventory such as item receive, item issue & report generation such as stock statement, issue register & receive register etc. This Software will help in automating all the process like receiving and issuing application in inventory.
sofware requirement specification document on smart phone app locker, it completelyfollows the IEEE Standard of HEC (Higher Education Commission) of Pakistan.
Fundamentals of object orientation, objects, classes, classification and object models delivered to post-graduate students of Object Oriented Software Engineering.
A Study of Software Size Estimation with use Case Pointsijtsrd
Estimates for cost and schedule in software projects are based on a prediction of the size of the system. Software size estimation is the most important role in software cost estimation. Use Case Point method can provide software size estimation at the early stage of the development process. Software size estimation is based on the high level speciation of Use Case. This paper describes a simple approach to software size estimation base on use case models the "Use Case Points Method. This model is imported into an estimating tool. To get software size with Use Case Point, the needed factors are the number of use cases and their complexity, the number of actors and their complexity, technical complexity factors TCF , and environmental complexity factors ECF . The system computes unadjusted use case points UUCP , adjusted use case points UPC , and the total effort in staff hours. Aye Aye Seint "A Study of Software Size Estimation with use Case Points" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-5 , August 2019, URL: https://www.ijtsrd.com/papers/ijtsrd26531.pdfPaper URL: https://www.ijtsrd.com/computer-science/other/26531/a-study-of-software-size-estimation-with-use-case-points/aye-aye-seint
Master sequence diagrams with this sequence diagram guide. It describes everything you need to know on sequence diagram notations, best practices as well as common mistakes. It also explains how to draw a sequence diagram step by step. Plus it offers Creately sequence diagram templates you can click and edit right away.
Developed the Inventory Management System for ERP Implementing in Manufacturi...Sushil kumar Choudhary
This paper deals with development of inventory management system for a manufacturing Industry. The developed software System is easy to use, less time consuming & all detail about the inventory items & transaction status. Enterprise Resource Planning (ERP) software presents a frame work for organizations to better utilize their processes. The report is about windows based application. The Front-end is developed using Visual Basic. A visual programming environment provides all features that are required to develop graphical user interface as ready to use components. The programmer does not have to write code to create and display commonly required user-friendly features each time around. The Backend used is SQL server database that ensures total security and no data loss or corruption. The database management systems are warehouses of information, where large amount of data can be stored. The Reports are developed using Crystal Report. Crystal Reports is the standard reporting tool for Visual Studio .NET. It brings the ability to create interactive, presentation-quality content; to the .NET platform. Crystal report is an integral part of the Visual Studio .NET environment. The main idea of this paper is to handle the all details of inventory management system. In this software package has been developed to smoothen the processing of item transaction in inventory such as item receive, item issue & report generation such as stock statement, issue register & receive register etc. This Software will help in automating all the process like receiving and issuing application in inventory.
sofware requirement specification document on smart phone app locker, it completelyfollows the IEEE Standard of HEC (Higher Education Commission) of Pakistan.
Fundamentals of object orientation, objects, classes, classification and object models delivered to post-graduate students of Object Oriented Software Engineering.
A Study of Software Size Estimation with use Case Pointsijtsrd
Estimates for cost and schedule in software projects are based on a prediction of the size of the system. Software size estimation is the most important role in software cost estimation. Use Case Point method can provide software size estimation at the early stage of the development process. Software size estimation is based on the high level speciation of Use Case. This paper describes a simple approach to software size estimation base on use case models the "Use Case Points Method. This model is imported into an estimating tool. To get software size with Use Case Point, the needed factors are the number of use cases and their complexity, the number of actors and their complexity, technical complexity factors TCF , and environmental complexity factors ECF . The system computes unadjusted use case points UUCP , adjusted use case points UPC , and the total effort in staff hours. Aye Aye Seint "A Study of Software Size Estimation with use Case Points" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-5 , August 2019, URL: https://www.ijtsrd.com/papers/ijtsrd26531.pdfPaper URL: https://www.ijtsrd.com/computer-science/other/26531/a-study-of-software-size-estimation-with-use-case-points/aye-aye-seint
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
Agent Assisted Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Agent Assisted Software Engineering Methodology.
Software requirement analysis enhancements by
prioritizing requirement attributes using rank
based Agents.
Ashok Kumar Vinay Goyal
Professor Assistant Professor
Department of Computer Science and Applications Department of MCA
Kurukshetra University, Kurukshetra, India Panipat Institute of Engineering & Technology
Panipat, India
Abstract- This paper proposes a new technique in the
domain of Agent oriented software engineering. Agents
work in autonomous environments and can respond to
agent triggers. Agents can be very useful in requirement
analysis phase of software development process, where
they can react towards the requirement triggers and
result in aligned notations to identify the best possible
design solution from existing designs. Agent helps in
design generation process, which includes the use of
Artificial intelligence. The results produced clearly
shows the improvements over the conventional
reusability principles and ideas.
1. INTRODUCTION
Agent oriented software engineering is a new
emerging technique which is growing very
rapidly. Software development industries have
invested huge efforts in this domain and results
published by many of them are very exiting [1].
The autonomous and reactive nature of agents
makes it possible for the designers to visualize
in terms of real life problem solving scenarios
where socio-logical [2] characteristics of agents
automatically activate the timely checks for any
problem in domain and to solve the same using
agents.
Agents are very helpful in the software
development life cycle. Experiments carried out
in past have shown [2][9][10] the improvement
in the SDLC and conclusion is that agents can be
very helpful in cost and effort minimization; if
tuned properly. Fine-tuning of agents and SDLC
process-state-plug-in for two-way
communications results in agent based software
development process where intelligent agents
will take decisions for better time and resource
utilization.
Fine-tuning of agents and SDLC process-state-
plug-in for two-way communications results in
agent based software development process
where intelligent agents will take decisions for
better time and resource utilization. Agents are
capable of storing historic data, which helps in
decision-making using heuristic based approach.
This paper discusses the details of one such
experiment conducted to improve the
requirement analysis process with the help of
proactive agents. Agents automatically sense the
requirement environment and propose their own
set of important requirement checklist. This is
sort of intelligent assistance with domain
heuristic, which leads to cover all possible
requirement entities of the problem domain.
2. RELATED WORK
Michael Wooldridge, Nicholas R. Jennings &
David Kinny describe the analysis process using
agent-oriented approach [1]. They have
considered the GAIA notations. The analysis
stages of Gaia are:
1) Identify the agent’s roles in the system, which
typically correspond to identify ro ...
International Journal of Engineering Research and Applications (IJERA) aims to cover the latest outstanding developments in the field of all Engineering Technologies & science.
International Journal of Engineering Research and Applications (IJERA) is a team of researchers not publication services or private publications running the journals for monetary benefits, we are association of scientists and academia who focus only on supporting authors who want to publish their work. The articles published in our journal can be accessed online, all the articles will be archived for real time access.
Our journal system primarily aims to bring out the research talent and the works done by sciaentists, academia, engineers, practitioners, scholars, post graduate students of engineering and science. This journal aims to cover the scientific research in a broader sense and not publishing a niche area of research facilitating researchers from various verticals to publish their papers. It is also aimed to provide a platform for the researchers to publish in a shorter of time, enabling them to continue further All articles published are freely available to scientific researchers in the Government agencies,educators and the general public. We are taking serious efforts to promote our journal across the globe in various ways, we are sure that our journal will act as a scientific platform for all researchers to publish their works online.
APPLICATION SPECIFIC USAGE CONTROL IMPLEMENTATION VERIFICATIONIJNSA Journal
Usage control is a comprehensive access control model developed to cater the security needs of the wide range of applications. Formal specification of the core usage control models and their expressivity, decidability of safety properties are explored recently. They help us to understand the usability and safety of the model. However, security of the usage control in the practical applications depends on the safety of the model as well as its correct implementation in the application. This paper presents an approach to verify the correctness of the usage control implementation using a semi- formal property verification tool. We also provide an illustrative case study.
Requirements Engineering Workshop with Use CasesBryan Len
Requirements Engineering Workshop with Use Cases, – Model-Based Requirements Engineering with Use Case
Requirements Engineering Workshop with Use Cases, Use Cases portray conceivable communications including a framework and its condition. Use Cases are considered as awesome instruments and powerful means for operational and practical requirements elicitation and investigation.
Requirements Engineering Workshop with Use Cases casual meanings of use cases in the investigation procedure. We exhibit an approach upheld by any apparatus for use cases based requirements engineering and administration.
Requirements engineering process based on use cases provide promising solutions concerning the early high-level requirements gathering problem dealing with system operation and ConOps:
One of the primary challenges in a system design process is the ability to elicit the correct and necessary system requirements from the stakeholders and specify them in a manner understandable to them so those requirements can be verified and validated.
Data and process models, prototypes, requirement specifications.
Understood by designers but not by users.
Leads to scope creep, schedule creep, cost overruns.
Requirements Engineering Workshop with Use Cases drives the development of a system by understanding how the system will be used and then helping systems engineers and project managers for an appropriate system to support the users.
Learn how to drive agile projects using use cases in Requirements Engineering Workshop with Use Cases training course. All the delegates will model use cases and system validation cases in the beginning of the workshop.
A use case is a description of normal and abnormal conditions and step-by-step, interactions between a system and actors in its environment.
A use case model includes:
Use case description
Actors
Relationships
A relationship between an actor and a use case captures the fact that the actor participates in the use case.
A use case diagram shows use case names, pre and post conditions, actors, relationships between actors and use cases, and relationships between use cases.
Include and extend relationship
More topics : Learn the benefits of Requirements Engineering and Use-Case Modeling at the Workshop, Requirements Engineering by Use Case Analysis, Definition of Requirements Analysis, Requirements Engineering with Use Case modeling, User-Centered Development and Use-Case Modeling, Use Case Driven Analysis and Requirements Engineering , Use Case Driven Approach to Requirements Engineering Process.
Price: $2,999.00
Length: 3 Days
Requirements Engineering Workshop with Use Cases
https://www.tonex.com/training-courses/requirements-engineering
A Software Measurement Using Artificial Neural Network and Support Vector Mac...ijseajournal
Today, Software measurement are based on various techniques such that neural network, Genetic
algorithm, Fuzzy Logic etc. This study involves the efficiency of applying support vector machine using
Gaussian Radial Basis kernel function to software measurement problem to increase the performance and
accuracy. Support vector machines (SVM) are innovative approach to constructing learning machines that
Minimize generalization error. There is a close relationship between SVMs and the Radial Basis Function
(RBF) classifiers. Both have found numerous applications such as in optical character recognition, object
detection, face verification, text categorization, and so on. The result demonstrated that the accuracy and
generalization performance of SVM Gaussian Radial Basis kernel function is better than RBFN. We also
examine and summarize the several superior points of the SVM compared with RBFN.
Defines software quality and provides detailed activities of SQA along with software change management delivered to post-graduate students of Object Oriented Software Engineering.
Object-Oriented Design techniques covering system design, and object design delivered to post-graduate students of Object Oriented Software Engineering
Object-Oriented Implementation techniques covering object model optimization and object persistence delivered to post-graduate students of Object Oriented Software Engineering.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
2. Disclaimer
These slides are part of teaching materials for Object Oriented
Software Engineering (OOSE). These slides do not cover all
aspect of learning OOSE, nor are these be taken as primary
source of information. As the core textbooks and reference
books for learning the subject has already been specified and
provided to the students, students are encouraged to learn
from the original sources.
Contents in these slides are copyrighted to the instructor and
authors of original texts where applicable.
3.
4. REQUIREMENTSELICITATION
UNIT 04: Object-oriented Analysis
References:
Bruegge B., and Dutoit A. H. 2010, Object-oriented Software Engineering using UML, Patterns and Java, 3rd ed., Prentice Hall (Chapter 4)
Pressman, R. S., 2001, Software Engineering - A Practitioner's Approach, Fifth Ed., McGrawHill (Chapter 21)
6. REQUIREMENTSELICITATIONACTIVITIES
Identify actors
Identify scenarios
Identify use cases
Refine use cases
Identifying relationships
among use cases
Identifying nonfunctional
requirements
Source of information
Client-supplied documents
Manuals
Technical documentation of
legacy systems
End-user discussions
7. TWOMETHODSFORELICITINGINFORMATION
Joint Application Design – focuses on building
consensus among developers, users, and clients by jointly
developing requirements specification
Traceability – focuses on recording, structuring,
linking, grouping, and maintaining dependencies
among requirements and between requirements.
9. NONFUNCTIONALREQUIREMENTS
Broad variety of requirements that are not related to functional
behavior of the system
FURPS+ model suggests following categories of nonfunctional
requirements
– Usability
– Reliability
– Performance
– Supportability
10. NONFUNCTIONALREQUIREMENTS
Other categories in FURPS+
Implementation requirements (tools, programming languages, hardware
platforms)
Interface requirements (constrains of interfaces imposed by external systems,
legacy systems, end user, data interchange formats etc.)
Operations requirements (administration, configuration, management of system
in operational setting)
Package requirements (delivery of packages, installation media etc.)
Legal requirements (accessibility, encryption and security, no-read-up no-write-
down etc.)
11. Completeness, consistency, clarity and correctness –
review the language, sentences, phrases etc.
Realism, verifiability, and traceability – use numbers,
specific scenarios
Greenfield engineering – build system from scratch
Reengineering – reverse engineer existing system, redesign
and re implement
Interface engineering – redesign the user interface of an
existing system
16. IDENTIFYINGUSECASES
Use cases represent all possible scenarios for
given piece of functionality
A use case is initiated by an actor
A use case may interact with other actors
Name of a use case – should be a verb phrase
30. MANAGINGREQUIREMENTSELICITATION
UNIT 04: Object-oriented Analysis
References:
Bruegge B., and Dutoit A. H. 2010, Object-oriented Software Engineering using UML, Patterns and Java, 3rd ed., Prentice Hall (Chapter 4)
Pressman, R. S., 2001, Software Engineering - A Practitioner's Approach, Fifth Ed., McGrawHill (Chapter 21)
33. MANAGINGTRACEABILITY
Tracing where requirements came from (who
originated it, which client need does it address) to
which aspect of the system and the project it affects
Helps show the system is complete
Focuses on - recording, structuring, linking,
grouping, and maintaining dependencies among
requirements and between requirements.
34. DOCUMENTINGREQUIREMENTSELICITATION
1. Introduction
1.1 Purpose of the system
1.2 Scope of the system
1.3 Objectives and success
criteria of the project
1.4 Definitions, acronyms, and
abbreviations
1.5 References
1.6 Overview
2. Current system
3. Proposed system
3.1 Overview
3.2 Functional requirements
3.3 Nonfunctional requirements
3.3.1 Usability
3.3.2 Reliability
3.3.3 Performance
3.3.4 Supportability
3.3.5 Implementation
3.3.6 Interface
3.3.7 Packaging
3.3.8 Legal
36. ❃ Read ‘4.6 ARENA Case Study’ from
Bruegge B., and Dutoit A. H. 2010, Object-oriented Software Engineering
using UML, Patterns and Java, 3rd ed., Prentice Hall (Chapter 4)
37. REQUIREMENTSANALYSIS
UNIT 04: Object-oriented Analysis
References:
Bruegge B., and Dutoit A. H. 2010, Object-oriented Software Engineering using UML, Patterns and Java, 3rd ed., Prentice Hall (Chapter 5)
Pressman, R. S., 2001, Software Engineering - A Practitioner's Approach, Fifth Ed., McGrawHill (Chapter 21)
41. ANALYSISCONCEPTS
Analysis object models and dynamic models
– Object model – system, properties and relationships (class diagram)
– Dynamic model – behavior of system (sequence diagram, state
machine)
43. ANALYSISCONCEPTS
Entity, boundary, and control objects
– Entity – objects
– Boundary – interactions between actors and system
– Control – realising use cases
44. ANALYSISCONCEPTS
Generalisation and specialisation
– Generalisation – identify abstract concepts from lover-
level ones
– Specialisation – identify more specific concepts from
high-level one
54. USECASES
Define functional and operational requirements
of the system by defining a scenario of usage.
Provide a clear and unambiguous description of
how the end-user and system interact with one
another.
Provide a basis for validation testing.
57. 4.MAPPINGUSECASESTOOBJECTSWITHSEQUENCE
DIAGRAMS
Shows how the behavior of a use case is distributed
among its participating objects
Columns of objects
Left most column – actor that initiates the use case
Horizontal arrows – messages
Time proceeds vertically
64. 5.MAPPINGINTERACTIONSAMONGOBJECTSWITHCRCCARDS
Class-responsibility-collaborator modeling
Classes– have characteristics: retained information, needed services, multiple
attributes, common attributes, common operations, essential requirements
Class types:
device class (e.g. sensor)
property class (e.g. rating)
interaction class (e.g. purchase, license, acquisition)
65. MAPPINGINTERACTIONSAMONGOBJECTSWITHCRCCARDS
Responsibilities (attributes and operations)
Attributes– stable features
Operations– processing narrative
Five guidelines
System intelligence should be evenly distributed
Each responsibility should be stated as generally as possible
Information and behavior related to it should reside within the same class
Information about one thing should be localised with single class, not distributed
across multiple classes.
Responsibilities should be shared among related classes, when appropriate.
72. 8.IDENTIFYINGATTRIBUTES
Attributes– properties of individual objects, least stable part
Properties are different to attributes!
First identify as many associations as possible before
identifying attributes
Attributes have;
– Name
– Brief description
– Type
74. 9.MODELINGSTATE-DEPENDENTBEHAVIOROF
INDIVIDUALOBJECTS
Sequence diagrams - distribute behavior across objects
Sequence diagrams - represent the behavior of the system from the
perspective of a single use case.
State machine diagrams- represent behavior from the perspective of
a single object
By modeling state change upon certain event, enables a developer to detail
use cases.
77. 11.REVIEWINGTHEANALYSISMODEL
Analysis model is build incrementally and iteratively.
When number of changes become minimal in iterations, then
the model is stable.
Need to look for a model that is
– Correct
– Complete
– Consistent
– Realistic
78. ACORRECTMODEL?
Is the glossary of entity objects understandable by the user?
Do abstract classes correspond to user-level concepts?
Are all descriptions in accordance with the users’ definitions?
Do all entity and boundary objects have meaningful noun
phrases as names?
Do all use cases and control objects have meaningful verb
phrases as names?
Are all error cases described and handled?
79. ACOMPLETEMODEL?
For each object: Is it needed by any use case? In which use case is it created?
modified? destroyed? Can it be accessed from a boundary object?
For each attribute: When is it set? What is its type? Should it be a qualifier?
For each association: When is it traversed? Why was the specific
multiplicity chosen?
Can associations with one-to-many and many-to-many multiplicities be
qualified?
For each control object: Does it have the necessary associations to access
the objects participating in its corresponding use case?
80. ACONSISTENTMODEL?
Are there multiple classes or use cases with the same name?
Do entities (e.g., use cases, classes, attributes) with similar names
denote similar concepts?
Are there objects with similar attributes and associations that are
not in the same generalization hierarchy?
81. AREALISTICMODEL?
Are there any novel features in the system? Were any studies or
prototypes built to ensure their feasibility?
Can the performance and reliability requirements be met? Were
these requirements verified by any prototypes running on the
selected hardware?
83. MANAGINGANALYSISPROCESS
Document analysis – using object modelsand dynamic models
Requirements analysisdocument
1. Introduction
2. Current system
3. Proposed system
3.1. Overview
3.2. Functional requirements
3.3. Nonfunctional requirements
3.4. System models
3.4.1. Scenarios
3.4.2. Use case model
3.4.3. Object model
3.4.3.1 Data dictionary
3.4.3.2 Class diagrams
3.4.4. Dynamic models
3.4.5. User interface—navigational paths and screen mock-ups
4. Glossary
84. ASSIGNINGRESPONSIBILITIES
End-user - functions, workflows, data
Client – integration role, scope of system
Analyst – application domain expert, models current system and
future system, detailed use cases
Architect – integrates use cases and object models
Document editor – documentation
Configuration manager – maintains revisions, decompositions
Reviewer – validates correctness, completeness, consistency, and
clariy