MODULE 1 :
Software Product and Process
Introduction –FAQs About Software Engineering,
Definition Of Software Engineering,
Difference Between Software Engineering And Computer Science,
Difference Between Software Engineering And System Engineering,
Software Process,
Software Process Models,
The Waterfall Model,
Incremental Process Models,
Evolutionary Process Models
Spiral Development, Prototyping,
Component Based Software Engineering ,
The Unified Process, Attributes Of Good Software,
Key Challenges Facing By Software Engineering,
Verification – Validation,
Computer Based System,
Business Process Engineering,
Introduction to Software Engineering, Software Process, Perspective and Specialized Process Models – Introduction to Agility – Agile process – Extreme programming – XP process - Estimation-FP,LOC and COCOMO I and II,Risk Management, Project Scheduling.
Social development club is a leading course content provider of India with a key focus on skilling courseware development. We deliver complete package required to deliver the Skill development program effectively. We develop NCVT and SSC aligned courses of all the domains and for all the schemes.
Contact: sdccourses@gmail.com, http://www.socialdevelopment.club
fter Completing this chapter you should be able to:
understand what software engineering is and why it is important;
understand the concepts of software processes and software process models;
Compare and contrast a variety of models
understand some ethical and professional issues that are important for software engineers;
Software engineering is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures.
The outcome of software engineering is an efficient and reliable software product.
Introduction to Software Engineering, Software Process, Perspective and Specialized Process Models – Introduction to Agility – Agile process – Extreme programming – XP process - Estimation-FP,LOC and COCOMO I and II,Risk Management, Project Scheduling.
Social development club is a leading course content provider of India with a key focus on skilling courseware development. We deliver complete package required to deliver the Skill development program effectively. We develop NCVT and SSC aligned courses of all the domains and for all the schemes.
Contact: sdccourses@gmail.com, http://www.socialdevelopment.club
fter Completing this chapter you should be able to:
understand what software engineering is and why it is important;
understand the concepts of software processes and software process models;
Compare and contrast a variety of models
understand some ethical and professional issues that are important for software engineers;
Software engineering is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures.
The outcome of software engineering is an efficient and reliable software product.
IoT Physical Devices and End points and RaspberryPi with Python.
Introduction to RaspberryPi
Arduino UNO,
Arduino UNO: Introduction to Arduino,
Arduino UNO, Installing the Software,
Fundamentals of Arduino Programming.
IoT Physical Devices and Endpoints.
RaspberryPi: Introduction to RaspberryPi,
About the RaspberryPi Board: Hardware Layout,
Operating Systems on RaspberryPi, Configuring.
IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...Jayanthi Kannan MK
Module 4 : Arduino UNO, RaspberryPi with Python
Arduino UNO: Introduction to Arduino,
•Arduino UNO, Installing the Software,
•Fundamentals of Arduino Programming.
•IoT Physical Devices and Endpoints.
RaspberryPi: Introduction to RaspberryPi,
•About the RaspberryPi Board: Hardware Layout,
•Operating Systems on RaspberryPi, Configuring.
Module 5 : RaspberryPi Programming using Python and Smart City
RaspberryPi,
•Programming RaspberryPi with Python,
•Wireless Temperature Monitoring System Using Pi,
•DS18B20 Temperature Sensor,
•Connecting Raspberry Pi via SSH,
•Accessing Temperature from DS18B20 sensors,
• Remote access to RaspberryPi.
Smart cities: Smart and Connected Cities,
•An IoT Strategy for Smarter Cities,
•Smart City IoT Architecture,
•Smart City Security Architecture,
•Smart City Use-Case Examples
Internet of Things
Unit – 1. Introduction
1.1 What is IoT,
1.2 Genesis of IoT,
1.3 IoT andDigitization,
1.4 IoT Impact,
1.5 Convergence of IT and IoT,
1.6 IoTChallenges,
1.7 IoT NetworkArchitecture and Design,
1.8 Drivers Behind New Network Architectures,
1.9 Comparing IoTArchitectures,
1.10 A Simplified IoTArchitecture.
Text Books:
1. Fundamentals: Networking Technologies,Protocols, and Use Cases for the Internet of Things”, David Hanes, Gonzalo Salgueiro, Patrick Grossetete, Robert Barton, JeromeHenry, 1stEdition, Pearson Education (Cisco Press Indian Reprint, ISBN: 978- 9386873743.2. “Internet of Things”, Srinivasa K G, 2017, CENGAGELeaning, India.
Reference Books:
1. “Internetof Things (A Hands-on-Approach)”,Vijay Madisetti and ArshdeepBahga, 1st Edition, VPT, 2014. ISBN: 978-8173719547.2. “Internetof Things: Architecture and Design Principles”, Raj Kamal, 1st Edition, McGraw Hill Education, 2017, ISBN: 978-935260522
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
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.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
In the ever-evolving landscape of technology, enterprise software development is undergoing a significant transformation. Traditional coding methods are being challenged by innovative no-code solutions, which promise to streamline and democratize the software development process.
This shift is particularly impactful for enterprises, which require robust, scalable, and efficient software to manage their operations. In this article, we will explore the various facets of enterprise software development with no-code solutions, examining their benefits, challenges, and the future potential they hold.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
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!
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
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.
2. By
Dr. M.K. Jayanthi Kannan, M.E.,MS.,MBA., M.Phil., Ph.D.,
Professor and HOD ISE,
Faculty of Engineering & Technology,
JAIN Deemed To-Be University,
Bengaluru.
Staff Room: 324- 8.
Office Hours : 8.30 AM -4 PM
Department of Computer Science and
Engineering,
FET Block,
Course Specification
Course: SOFTWARE ENGINEERING
Course Code: 22CSE141
3. Module 1:Software Product and Process
• Introduction –FAQs About Software Engineering,
• Definition Of Software Engineering,
• Difference Between Software Engineering And Computer Science,
• Difference Between Software Engineering And System Engineering,
• Software Process,
• Software Process Models
• The Waterfall Model,
• Incremental Process Models,
• Evolutionary Process Models
• Spiral Development, Prototyping,
• Component Based Software Engineering ,
• The Unified Process, Attributes Of Good Software,
• Key Challenges Facing By Software Engineering,
• Verification – Validation
• Computer Based System
• Business Process Engineering.
4. What is Engineering?
What is Software?
What is Software Engineering?
What is Software Process?
Different types of Process models
Different models with strengths and weaknesses
Alige Software Development
5. INTRODUCTION
• Software: Computer programs and associated documentation.
software products may be developed for a particular customer or
may be developed for a general market.
• Software engineering : Software engineering is an engineering
discipline which is concerned with all aspects of software
production.
• The definition in IEEE Standard
– The application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software, that is, the
application of engineering to software.
• Software process: A set of activities whose goal is the development
or evolution of software.
6. What is Engineering?
Engineering is the application of scientific and
practical knowledge in order to invent, design,
build, maintain and improve systems,
processes, etc.
7. What is Software?
The software is collection of integrated programs
The software consists of carefully—organized instructions and
code written by programmers in any of various special computer
languages
Computer programs and associated documentation such as
requirements, design models and user manuals.
Software engineering is an engineering discipline that is
concerned with all aspects of software production.
According to IEEE's definition software engineering can be defined
as the application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of
software, and the study of these approaches; that is, the
application of engineering to software.
8. What is Software Process?
A framework that describes the activities performed
at each stage of a software development project.
A set of activities whose goal is the development or
evolution of software.
Generic activities in all software processes are:
Specification - what the system should do and its
development constraints
Development - production of the software system
Validation - checking that the software is what the
customer wants
Evolution - changing the software in response to changing
demands.
9. Software Engineering –Key
Challenges
Coping with legacy systems, coping with
increasing diversity and coping with
demands for delivery times.
Legacy systems - old, valuable systems must
be maintained and updated.
Heterogeneity - systems are distributed and
includes a mix of hardware and software
Delivery - there is increasing pressure for
faster delivery of software.
10. Software Engineering Paradigms and
Processes
In SE ‘Paradigm’ is heavily used:
Discussions of superiority “Object-oriented
paradigm is the best ever …”
Discussions of suitability “Object-oriented
paradigm is/isn’t suitable for x y z domain/tasks”
The meaning of paradigm is overloaded and vague
What exactly do we mean by paradigm?
Why and how a paradigm influences the process
and product of SE?
11. What is ‘paradigm’?
Etymologically: “para-” (alongside) + “-deiknunai” (to
show)
Greek: paradeigma = example
Works of Plato and Aristotle: a third form of reasoning
Induction, deduction, paradeigma (example)
One of the constituents is more “knowable”
Typical issues related to the category they define (e.g.
cheese paradigm)
Not very favorite of philosophers until late 20th century
Modern meaning coined by Foucault, and esp.
12. SE Paradigms
Major paradigms in software
engineering/design:
the procedural paradigm (emphasis on algorithm),
the data-hiding paradigm (emphasis on data
organization),
the data-abstraction paradigm (emphasis on types
and operations),
and the object-oriented paradigm (emphasis on
commonality between types)
13. New approaches having potential to be regarded
as paradigms in the future:
The component-based paradigm (emphasis on reuse
through integration),
the aspect-oriented paradigm,
and the agent-oriented paradigm (emphasis on goal
oriented ness)
The choice of paradigm effects the quality of the process and
the product. Some apparent readings of quality parameters
might be related inherently to paradigms.
14. Software Engineering process
Paradigms(SDLC)
SDLC: SDLC is a step by step
procedure or systematic
approach to develop software
and it is followed within a
software organization.
It consists of various phases
which describe how to design,
develop, enhance and
maintain particular software.
15. Attributes of good
software
• The software should deliver the required functionality and performance to
the user and should be maintainable, dependable and usable.
16.
17. What is the work Product?
• From the point of view of a software engineer, the work product is the
programs, documents, and content.
• From the user’s viewpoint, the work product is the resultant information
that somehow makes the user’s world better.
• The Product
– Is the engine that drives business decision making.
– Software serves as the basis for modern scientific investigation and engineering problem
solving.
– It is embedded in systems of all kinds: transportation, medical, telecommunications,
military, industrial processes, entertainment, office products…
18. VERIFICATION AND VALIDATION
• Verification: "Are we building the product right”, The software should
conform to its specification.
• Validation: "Are we building the right product”., The software should do
what the user really requires.
19. These slides are designed to accompany Software Engineering:
A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides
copyright 2009 by Roger Pressman. 19
V & V
• Verification refers to the set of tasks that ensure that
software correctly implements a specific function.
• Validation refers to a different set of tasks that ensure that
the software that has been built is traceable to customer
requirements. Boehm [Boe81] states this another way:
– Verification: "Are we building the product right?"
– Validation: "Are we building the right product?"
20. The V & V process
• Is a whole life-cycle process - V & V must be applied at each
stage in the software process.
• Has two principal objectives
• The discovery of defects in a system;
• The assessment of whether or not the system is useful and
useable in an operational situation
21. V& V goals
• Verification and validation should establish confidence that the software is
fit for purpose.
• This does NOT mean completely free of defects.
• Rather, it must be good enough for its intended use and the type of use will
determine the degree of confidence that is needed.
22. SOFTWARE LIFE CYCLE
• Often used as another name for the software
process.
• Originally coined to refer to the waterfall
model of the software process.
23.
24.
25. • The Waterfall model sometimes called the classic life cycle, suggests a systematic,
sequential approach to software development.
• It is a oldest paradigm for software engineering.
• Most widely used though no longer state-of-art.
• Each step results in documentation.
• May be suited to for well-understood developments using familiar technology.
• Not suited to new, different systems because of specification uncertainty
• Difficulty in accommodating change after the process has started.
• Can accommodate iteration but indirectly.
• Working version not available till late in process.
• Often get blocking states.
27. • There are many situations in which initial software requirements are
reasonably well defined, but the overall scope of the development effort
precludes a purely linear process.
• In addition, there may be a compelling need to provide a limited set of
software functionality to users quickly and then refine and expand on that
functionality in later software releases.
• In such cases, a process model that is designed to produce the software
in increments is chosen.
28. The Incremental Model :
• Applies an iterative philosophy to the waterfall model.
• Divide functionality of system into increments and use a liner sequence of
development on each increment.
• First increment delivered is usually the core product, i.e. only basic
functionality.
• Reviews of each increment impact on design of later increments.
• Manages risk well.
• Extreme Programming (XP), and other Agile Methods, are incremental, but
they do not implement the waterfall model steps in the standard order.
30. • Similar to waterfall but uses a very short development cycle (60to90
days to completion).
• Uses component-based construction and emphasizes reuse and
code generation.
• Use multiple teams on scalable projects.
• Requires heavy resource.
• Requires developers and customers who are heavily committed.
• Performance can be a problem.
• Difficult to use with new technology
31. EVOLUTIONARY MODELS
• Evolutionary models are iterative. They are characterized in a manner that enables
software engineers to develop increasingly more complete versions of the software.
• PROTOTYPING :
32. PROTOTYPING :
• Ideally mock-up serves as mechanism for identifying requirements.
• Users like the method, get a feeling for the actual system.
• Less ideally may be the basis for completed.
• Prototypes often ignore quality/performance/maintenance issues.
• May create pressure from users on deliver earlier.
• May use a less-than-ideal platform to deliver e.g Visual Basic – excellent for
prototyping, may not be as effective in actual operation.
• Specifying requirements is often very difficult.
• Users don’t know exactly what they want until they see it.
• Prototyping involves building a mock-up of the system and using to obtain for user
feedback.
• Closely related to what are now called “Agile Methods”
34. Development cycles through multiple (3-6) task regions (6stage version).
• Customer communication
• Planning
• Risk analysis
• Engineering
• Construction and release
• Customer evaluation
Incremental releases :
• Early releases may be paper or prototypes.
• Later releases become more complicated
• Models software until it is no longer used
• Not a silver bullet, but considered to be one of the best approaches.
• Requires excellent management and risk assessment skills
35. Concurrent Development Model
• The concurrent development model, sometimes called concurrent engineering,
can be represented schematically as a series of framework activities, software
engineering actions and tasks, and their associated states.
• The concurrent process model defines a series of events that will trigger
transitions from state to state for each of the software engineering activities,
action, or tasks.
• The concurrent process model is applicable to all types of software development
and provides an accurate picture of the current state of a project.
• Rather than confining software engineering activities, actions, and tasks to a
sequence of events, it defines a network of activities.
• Each activity, action, or task on the network exists simultaneously with other
activities, actions, or tasks.
• Events generated at one point in the process network trigger transitions among
the states.
36.
37. SPECIALIZED PROCESS MODELS
• Component based development—the process to
apply when reuse is a development objective.
• Formal methods—emphasize the mathematical
specification of requirements.
• AOSD—provides a process and methodological
approach for defining, specifying, designing, and
constructing aspects
38.
39. THE UNIFIED PROCESS (UP)
• A “use-case driven, architecture-centric, iterative and incremental” software
process closely aligned with the Unified Modeling Language (UML)
Unified Process Phases
• The inception phases of the up encompass both customer communication and
planning activities and emphasize the development and refinement of use-
cases as a primary model.
• An elaboration phase that encompasses the customer’s communication and
modeling activities focusing on the creation of analysis and design models
with an emphasis on class definitions and architectural representations.
• A construction phase that refines and translates the design model into
implemented software components.
• A transition phase that transfers the software from the developer to the end-
user for beta testing and acceptance.
• A production phase in which on-going monitoring and support are conducted.
40.
41. System engineering
• Systems engineering is the activity of specifying, designing, implementing,
validating, deploying and maintaining socio-technical systems.
• Systems engineers are not just concerned with software but also with
hardware and the system's interactions with users and its environment.
• They must think about the services that the system provides, the constraints
under which the system must be built and operated and the ways in which
the system is used to fulfill its purpose.
• System engineering is concerned with all aspects of computer-based
systems development, including hardware, software and process
engineering. Software engineering is part of this process.
• System engineering is an older discipline than software engineering.
• People have been specifying and assembling complex industrial systems
such as aircraft and chemical plants for more than a hundred years.
• However, as the percentage of software in systems has increased, software
engineering techniques such as use-case modeling and configuration
management are being used in the systems engineering process.
43. System design problems
• Requirements partitioning to hardware,
software and human components may involve a lot of negotiation
• Difficult design problems are often assumed to be readily solved using
software
• Hardware platforms may be inappropriate for
software requirements so software must compensate for this
44. Sub-system development
• Typically parallel projects developing the
hardware, software and communications
• May involve some COTS (Commercial Off-the-Shelf) systems
procurement
• Lack of communication across implementation
teams
• Bureaucratic and slow mechanism for
proposing system changes means that the development schedule may be
extended because of the need for rework
45. • The process of putting hardware, software and
people together to make a system
• Should be tackled incrementally so that sub-systems are integrated one at
a time
• Interface problems between sub-systems are usually found at this stage
• May be problems with uncoordinated deliveries
of system components
System integration
46. • Environmental assumptions may be incorrect
• May be human resistance to the introduction of
a new system
• System may have to coexist with alternative
systems for some time
• May be physical installation problems (e.g.
cabling problems)
• Operator training has to be identified
System installation
47. • Will bring unforeseen requirements to light
• Users may use the system in a way which is
not anticipated by system designers
• May reveal problems in the interaction with
other systems
• Physical problems of incompatibility
• Data conversion problems
• Increased operator error rate because of inconsistent interfaces
System operation
48. System evolution
• Large systems have a long lifetime. They must evolve to meet changing
requirements
• Evolution is inherently costly
– Changes must be analysed from a technical and business perspective
– Sub-systems interact so unanticipated problems can arise
– There is rarely a rationale for original design decisions
– System structure is corrupted as changes are made to it
• Existing systems which must be maintained are sometimes called legacy
systems
49. System decommissioning
• Taking the system out of service after its useful lifetime
• May require removal of materials (e.g. dangerous chemicals) which pollute
the environment
– Should be planned for in the system design by encapsulation
• May require data to be restructured and converted to be used in some other
system
51. computer-based systems
• Technical computer-based systems are systems that include
hardware and software components but not procedures and
processes.
• Examples of technical systems include televisions, mobile
phones and most personal computer software.
• Individuals and organizations use technical systems for some
purpose but knowledge of this purpose is not part of the
system.
• For example, the word processor
52. BUSINESS PROCESS ENGINEERING
• Business process engineering is a structured approach to improving a company’s
performance in areas such as cost, service, quality, and speed through changes in
(appropriately) processes.
• Organize around the outcome, not the specific task. One person owns a whole
process, performing or coordinating all steps.
• Those closest to the process should perform the process. Instead of farming out
different types of easily managed work, the people who need the quick outcomes
from simple tasks take ownership.
• Have the people who produce the information process it. This streamlines the
outcome of the information gathered into usable data.
• Centralize resources. Databases and other technology systems can consolidate
resources to cut down on redundancies and increase flexibility.
• Integrate corresponding activities, not merely their results. This keeps the content
cohesive, without the gaps and miscommunication that could cause delays.
• Control the decision points and where the work is done. Built-in controls enable
the employees who perform the work to self-manage, so managers can become
supportive rather than directive.
• Information should be collected once and at the source. You can erase data
redundancies when processes are connected in a central database
53. Common guiding principles for the stages are as follows:
• Step 0: Preparation and Coordination
• Step 1: Set the Vision
• Step 2: Assemble the Team
• Step 3: Determine the Processes
• Step 4: Redesign
54. PRODUCT ENGINEERING
• Product Engineering is the process of innovating, designing, developing, testing and
deploying a software product.
• The various phases of product engineering are:
– Product Ideation
– Product Architecture
– Product Design
– Product Testing
– Product Migration and Porting
– Technical Support
– Sustaining Engineering
– Professional Services
55. SUMMARY
Module 1: Software Product and Process
In Module 1 we discussed the following topics like,
Introduction –FAQs About Software Engineering,
Definition Of Software Engineering,
Difference Between Software Engineering And Computer Science,
Difference Between Software Engineering And System Engineering,
Software Process,
Software Process Models
The Waterfall Model,
Incremental Process Models,
Evolutionary Process Models
Spiral Development, Prototyping,
Component Based Software Engineering ,
The Unified Process, Attributes Of Good Software,
Key Challenges Facing By Software Engineering,
Verification – Validation
Computer Based System
Business Process Engineering.