The document discusses requirements engineering and defines what requirements are. It explains that requirements include functional and non-functional requirements. Functional requirements define what a system should do, while non-functional requirements define properties like usability, performance and reliability. The document also describes the requirements engineering process, which involves gathering, analyzing, documenting and managing requirements.
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Dr Sukhpal Singh Gill
Three days workshop on Basics of Software Engineering at Thapar University, Patiala on 7th-9th, 2013. Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Dr Sukhpal Singh Gill
Three days workshop on Basics of Software Engineering at Thapar University, Patiala on 7th-9th, 2013. Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
My name K.Yesubabu Setty from Hyderabad, India.This ppt includes the information about Software system development tools,methodologies, design. A brief explanation about software system.
Download Complete Material - https://www.instamojo.com/prashanth_ns/
This Programming Using C++ contain 22 Units and each Unit contains 60 to 80 slides in it.
Course Outline...
• Introduction to Oops
• Structure of a program
• Iteration structures (loops)
• Scope of variables
• Write and execute C++ programs
• Use arrays and structures
• Pointers
• Arguments passed by value and by reference.
• Overloaded functions
• Inline functions
• Data Structures
• Unions
• Implement encapsulation and abstraction
• Use operators and decision-making constructs
• Work with arrays
• Implement polymorphism and inheritance
• Use exception handling and templates
• Implement linked lists
My name K.Yesubabu Setty from Hyderabad, India.This ppt includes the information about Software system development tools,methodologies, design. A brief explanation about software system.
Download Complete Material - https://www.instamojo.com/prashanth_ns/
This Programming Using C++ contain 22 Units and each Unit contains 60 to 80 slides in it.
Course Outline...
• Introduction to Oops
• Structure of a program
• Iteration structures (loops)
• Scope of variables
• Write and execute C++ programs
• Use arrays and structures
• Pointers
• Arguments passed by value and by reference.
• Overloaded functions
• Inline functions
• Data Structures
• Unions
• Implement encapsulation and abstraction
• Use operators and decision-making constructs
• Work with arrays
• Implement polymorphism and inheritance
• Use exception handling and templates
• Implement linked lists
The Unified Modeling Language (UML) has become the de-facto standard for building
Object-Oriented software. UML 2.1 builds on the already highly successful UML 2.0
standard, which has become an industry standard for modeling, design and construction
of software systems as well as more generalized business and scientific processes.
UML 2.1 defines thirteen basic diagram types, divided into two general sets: structural
modeling diagrams and behavioral modeling diagrams. Part one will deal with
structural modeling diagrams.
object oriented analysis and design.
requirement analysis.
what is requirement?
types of requirement.
functional requirements.
nonfunctional requirements.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
2. 2
Requirements:
What the system should do?
The constraints on its operations
Requirements:
It is simple a high level, abstraction statement of a service
that a system should provide and the constraints on that
system.
Requirements:
It is the formal definition (in details) of a system function.
4. 4
The requirements are classified into the following three
types:
Those that should be absolutely met.
Those that are highly desirable but not necessary.
Those that are possible but could be eliminated.
5. 5
On the basis of their functionality, the requirements
are classified into the following two types:
Functional requirements:
They define factors, such as I/O formats, storage
structure, computational capabilities, timing, and
synchronization.
Non-functional requirements:
They define the properties or qualities of a product
including usability, efficiency, performance, space,
reliability, portability, etc.
6. 6
Requirements engineering consists of the following
processes:
Requirements gathering (elicitation).
Requirements analysis and modeling.
Requirements documentation.
Requirements review.
Requirements management.
7. 7
Requirements:
User Requirements: User requirements are statements, in
a natural language plus diagrams, of what services the
system is expected to provide to system users and the
constraints under which it must operate.
System Requirements: System requirements are more
detailed descriptions of the software system’s functions,
services, and operational constraints.
8. 8
User Requirement Definition
The MHC-PMS shall generate monthly
management reports showing the cost of drugs
prescribed by each clinic during that month.
9. 9
System Requirement
1. On the last working day of each month, a summary of the drugs
prescribed, their cost, and the prescribing clinics shall be generated.
2. The system shall automatically generate the report for printing after
17.30 on the last working day of the month.
3. A report shall be created for each clinic and shall list the individual
drug names, the total number of prescriptions, the number of doses
prescribed, and the total cost of the prescribed drugs.
4. If drugs are available in different dose units (e.g., 10 mg, 20 mg)
separate reports shall be created for each dose unit.
5. Access to all cost reports shall be restricted to authorized users listed on
a management access control list.
11. 11
Requirements gathering and analysis activity by
collecting all information from the customer.
Then analyzes the collected information to obtain a
clear and thorough understanding of the product to be
developed.
12. 12
The following basic questions pertaining to the project
should be clearly understood by the analyst in order to
obtain a good grasp of the problem:
1. What is the problem?
2. Why is it important to solve the problem?
3. What are the possible solutions to the problem?
4. What exactly are the data input to the system and what
exactly are the data output by the system?
5. What are the likely complexities that might arise while
solving the problem?
6. If there are external software or hardware with which the
developed software has to interface, then what exactly
would the data interchange formats with the external
system be?
13. 13
Requirements engineering consists of the following
processes:
Requirements gathering (elicitation).
Requirements analysis and modeling.
Requirements documentation.
Requirements review.
Requirements management.
14. 14
The requirements are gathered from various sources.
The sources are:
Customer (Initiator)
End Users
• Primary Users
• Secondary Users
Stakeholders
• Role or person with an interest (stake) in the system to
be built.
– Users: Those who use the software
– Customers: Those who pay for the software
– Software developers
– Development Managers
15. 15
The first portion of this phase, each requirement is
analyzed from the point-of-view of validity, consistency,
and feasibility for firm consideration in the SRS.
Validity confirms its relevance to goals and objectives.
Consistently confirms that it does not conflict with other
requirements but supports others where necessary.
Feasibility ensures that the necessary inputs are available
without bias and error, and technology support is possible
to execute the requirement as a solution.
16. 16
The second portion of analysis attempts to find for each
requirement, its functionality, features, and facilities
and the need for these under different conditions and
constraints.
Functionality states “how to achieve the requirement
goal”
Features describe the attributes of functionality
Facilities provide its delivery, administration, and
communication to other systems.
17. 17
SRS document : Software Requirement Specifications
document
The important parts of SRS document are:
Functional requirements of the system
Non-functional requirements of the system, and
Goals of implementation
26. 26
SRS document : Software Requirement Specifications
document
The important parts of SRS document are:
Functional requirements of the system
Non-functional requirements of the system, and
Goals of implementation
27. 27
It discusses the functionalities required from the system.
The high-level functions perform some meaningful piece
of work.
It define system’s external behavior
how the system interacts with its environment
how it responds to inputs
what output to generate
and how to behave under certain conditions
What the system must do and not do
29. 29
Quality attributes or constraints
Quality Attributes examples: security, performance, and
availability
Technology constraint: system must be Java-based
Process constraint: Agile must be used
It deals with the characteristics of the system which can not
be expressed as functions:
Maintainability of the system,
Portability of the system
Usability of the system
etc.
Nonfunctional requirements may include:
Reliability issues
Accuracy of results
Human - computer interface issues
Constraints on the system implementation, etc.
30. 30
It documents some general suggestions regarding
development.
These suggestions guide trade-off among design goals.
The goals of implementation section might document
issues such as:
Revisions to the system functionalities that may be
required in the future.
New devices to be supported in the future
Reusability issues, etc.
31. 31
Airline Reservation system:
Functional
• “a user can search for a flight. If a flight is selected, the user
has 2 minutes to confirm booking or the flight will be
released”
• How the system will interact and respond to use?
Non-Functional
• “the response time for a search transaction under peek load
of 10,000 users must not exceed 2s”
• “the throughput of the system is 100 search transactions per
second”
• What are the quality attributes of the system?
32. 32
Customers almost never give quantitative non-functional
requirements
Instead of:
• “the response time for a search transaction under peak load
of 10,000 users must not exceed 2s”
• Customers will say: “the system should be fast when number
of users is high”
Instead of:
• “the throughput of the system is 100 search transactions per
second”
• Customers will say: “the system must accept high number of
search commands”
Requirements such as “I want a secure system” and “I
want a system that is easy to use” will surface all the
time
33. 33
The functional requirements is identified from:
Informal problem description document
A conceptual understanding of the problem.
The functional requirements is identified by identifying
the different types of users who might use the system
and then try to identify the requirements from each
user’s perspective.
34. 34
Example: Consider the case of the library system, where
F1: Search Book function
Input: an author’s name
Output: details of the author’s books and the location of
these books in the library
35. 35
A function can be specified by
1) Identifying the state at which the data is to be input to
the system.
2) The input data domain.
3) The output data domain
4) The type of processing to be carried on the input data to
obtain the output data.
36. 36
Example: - Withdraw Cash from ATM (Automatic Teller
Machine)
R1: withdraw cash
• Description: The withdraw cash function first determines
the type of account that the user has and the account
number from which the user wishes to withdraw cash. It
checks the balance to determine whether the requested
amount is available in the account. If enough balance is
available, it outputs the required cash, otherwise it
generates an error message.
37. 37
R1.1 select withdraw amount option
• Input: “withdraw amount” option
• Output: user prompted to enter the account type
R1.2: select account type
• Input: user option (Checking or Saving)
• Output: prompt to enter amount
R1.3: get required amount
• Input: amount to be withdrawn in integer values greater than
100 and less than 10,000 in multiples of 100.
• Output: The requested cash and printed transaction
statement.
Processing: the amount is debited from the user’s account if
sufficient balance is available, otherwise an error message
displayed.
38. 38
It deals with the characteristics of the system which
can not be expressed as functions:
Maintainability of the system
Portability of the system
Usability of the system
Reliability issues
Performance issues
Human - computer interface issues
Interface with other external systems
Security and maintainability of the system
etc.
41. 41
How to quantify non-functional requirements to read:
“10,000 users peak load”
“2s response time”
“100 Tx per second throughput”
“user must learn how to perform a search in operation
after 3 attempts”
Requirements Engineering process transforms vague non-
functional requirements into more quantitative form
Non quantitative requirements are difficult to design
and implement
43. 43
Without developing the SRS document, the system would
not be implemented according to customer needs.
Software developers would not know whether what they
are developing is what exactly required by the
customer.
Without SRS document, it will be very much difficult for
the maintenance engineers to understand the
functionality of the system.
It will be very much difficult for user document writers
to write the users’ manuals properly without
understanding the SRS document.
44. 44
A decision tree gives a graphic view of the processing
logic involved in decision making and the corresponding
actions taken.
The edges of a decision tree represent conditions
The leaf nodes represent the actions to be performed
depending on the outcome of testing the condition.
45. 45
Consider Library Membership Automation Software
(LMS) where it should support the following three
options:
New member
Renewal
Cancel membership
46. 46
1. New member option:
Decision: When the 'new member' option is selected, the
software asks details about the member like the member's
name, address, phone number etc.
Action: If proper information is entered then a
membership record for the member is created and a bill is
printed for the annual membership charge plus the
security deposit payable.
47. 47
2. Renewal option:
Decision: If the 'renewal' option is chosen, the LMS asks
for the member's name and his membership number to
check whether he is a valid member or not.
Action: If the membership is valid then membership expiry
date is updated and the annual membership bill is printed,
otherwise an error message is displayed.
48. 48
3. Cancel membership option:
Decision: If the 'cancel membership' option is selected,
then the software asks for member's name and his
membership number.
Action: The membership is cancelled, a cheque for the
balance amount due to the member is printed and finally
the membership record is deleted from the database.
50. 50
A decision table is used to represent the complex
processing logic in a tabular or a matrix form.
The upper rows of the table specify the variables or
conditions to be evaluated.
The lower rows of the table specify the actions to be
taken when the corresponding conditions are satisfied.
A column in a table is called a rule.
A rule implies that if a condition is true, then the
corresponding action is to be executed.