You are on page 1of 17

1

SE311-Software Construction and development

Week 4-2

Instructor: Ali Haider


2
What is a System?

► According to the Oxford English Dictionary, a system is


► An organized or connected group of objects
► A set or assemblage of things connected, associated or interdependent so as to form a complex
unity
► A system is a set of
► Hardware
► Software
► People
► Policies, procedures, directives, etc.

Lahore Garrison University


3
Definition of System Engineering

► System engineering concerns on the overall management of engineering projects


throughout their life cycle. System engineering highly concerns on the hardware part of
the project.
► It deals with logistics, team coordination, automatic machinery control, work processes
and similar tools.
► “Systems engineering is a discipline that concentrates on the design and application of the
whole (system) as distinct from the parts. It involves looking at a problem in its entireness,
taking into account all the faces and all the variables and relating the social to the
technical aspect. (Ramo 1)”

Lahore Garrison University


4
System Engineering

► In additional, many cases under system engineering overlaps with the concepts of
industrial engineering, control engineering, organizational and project management and
even software engineering.
► System Engineering is branded as an interdisciplinary engineering area due to this reason.
System Engineer may perform system designing, developing requirements, verifying
requirements, system testing and other engineering studies.

Lahore Garrison University


5
Software Engineer And Systems Engineer

► An IT software engineer and systems engineer actually have a lot in common.


► Both need to understand underlying business and support requirements to design solutions.
► They must both draw on techniques and processes from multiple disciplines when solving a complex problem
or set of problems.
► And they are both expected to bring several years of experience with various programming languages to their
roles, and to collaborate with quality assurance (QA) and hardware engineers.
► As for general differences between the two positions:
► Software engineers tend to focus more on implementing software,
► While, systems engineers work highly with hardware part of the project

Lahore Garrison University


6
The Software Engineer

► An IT software engineer designs and creates engineering specifications for building software programs, and should
have broad information systems experience.
► Software engineers typically work with QA and hardware engineers to develop testing plans.
► Other responsibilities might involve determining what development methodology to use and documenting software
requirements.

Lahore Garrison University


7
The Systems Engineer

► A systems engineer in IT does some of the same work as a software engineer in that he or she develops software
components.
► But systems engineering also involves specifying, building, maintaining and supporting technical infrastructure.
That infrastructure can include the build, test and production environments used to deliver Software as a Service,
and the systems used to monitor the performance of deployed software solutions.
► A systems engineer also may be called on to perform high-level root cause analysis for service interruptions, and
help bring services back online once a problem is resolved.
► Soft skills are especially important for systems engineering professionals, as they must be able to communicate
effectively with both technical and nontechnical users.
► Many employers will want a systems engineer candidate with extensive experience working with specific hardware
and software systems, and the ability to demonstrate that he or she can design, analyze and troubleshoot IT at a
systems level.

Lahore Garrison University


8
Improved Collaboration Between Software
and Systems Engineering

► In 2014, the Government Accountability Office (GAO) reported that defense acquisition-program costs typically
run 26 percent over budget, with development costs exceeding initial estimates by 40 percent. Moreover, many
programs fail to deliver capabilities when promised, experiencing a 21-month delay on average.
► The report attributes the "optimistic assumptions about system requirements, technology, and design maturity
[that] play a large part in these failures" to a lack of disciplined systems engineering analysis early in the program.
► What acquisition managers do not always realize is the importance of focusing on software engineering during the
early systems engineering effort. Improving on this collaboration is difficult partly because both disciplines appear
in a variety of roles and practices.

Lahore Garrison University


9
Improved Collaboration Between Software
and Systems Engineering

► Software engineers today have adopted many of the principles and practices of systems
engineering. For example,
► developers do not merely react to requirements; they elicit, prioritize, and negotiate changes to them.
► Developers do not just build code; they architect it, plan it, and establish rules to ensure data is
appropriately shared and processed.
► Software project managers do not just distribute development tasks among individual coders and hope
they integrate a seamless final product; they ensure that developers collaborate using plans, processes,
and daily standup meetings.
► Software engineers do not just write programs; they design modular pieces, define integration
principles, build for interoperability and modifiability, and perform integration testing.

Lahore Garrison University


10
Improved Collaboration Between Software
and Systems Engineering

► Meanwhile the systems whose development programs employ systems engineers are increasingly dependent
on and controlled by software. For example,
► the effort to write and maintain software on fighter aircraft now exceeds all other costs. Systems engineers are
responsible for ensuring that every part of the system works with every other, and because software represents the
intelligence of human-made systems, it is especially important to the integration of the system.
► Yet many chief systems engineers and program managers have had more experience in mechanical or
electrical engineering than in software or software engineering.

Lahore Garrison University


11
Overlap and Uniqueness

► Today, systems engineering and software engineering activities overlap to a great extent.
► The figure shows activities:
► common to both disciplines in the middle (purple),
► activities related more to systems engineering than software on the left (red), and
► activities related more to software than systems on the right (blue).
► The term "hardware" appears only on the right, because software engineers use it to mean anything that isn't
software, but systems engineers generally do not use it. Instead, they call physical subsystems by name (e.g.,
power, structures) or describe disciplines or domains (e.g., mechanical engineering, survivability, software,
orbit analysis, launch sequence).

Lahore Garrison University


12

Lahore Garrison University


13
Overlap and Uniqueness

► It's important to note in the figure above that systems engineers' responsibilities tend to be
broad but not deep, certainly not deep in software. Conversely, while software engineers'
responsibilities, may be broad across the software, they are deep in areas necessary to create
working code. While most of the comparisons in the figure are fairly intuitive, three points
require some elaboration: customer interface, non-functional requirements, and what each
group does not do.
► Although customer interface is a systems engineering role, the software group must
participate when discussing software requirements and design. For example, software
engineers in Agile sprints often interface one-on-one with a customer representative to select
the next development chunk, based on customer priorities.

Lahore Garrison University


14
Overlap and Uniqueness

► Systems engineers are responsible for ensuring that non-functional requirements are met
across the system (qualities they call "ilities" that include reliability, usability, and
produceability, for example). Software engineers focus on software "quality attributes" (such
as reliability, usability, and maintainability, for example.) The two concepts are clearly
similar, but there are some differences; for example, software's counterpart to hardware
produceability, namely creating the second and later copies, is trivial, and security and
maintainability are more important.
► The contrast between systems and software engineers is most evident in what they do not do.
The role of systems engineers is to balance concerns and perform tradeoff analysis at a high
level and not get immersed in details in

Lahore Garrison University


15
Overlap and Uniqueness

any area; they consistently delegate details to specialists. System engineers cannot say a task is
not their job: if no one else is doing it and it needs to be done, the task defaults to systems
engineers. In contrast, software engineers (and mechanical, electrical, etc. engineers) focus their
attention inside a domain, mastering details and keeping up with evolving practices and
technologies.

Lahore Garrison University


16
Glance of System Engineering Process

► Operational concept development: This phase prepare the document of overall project development
plan that describing the characteristics of a proposed system from the viewpoint of an individual who
will use that system.

► System integration: It defines the process of bringing collectively the component subsystems into one
system and ensuring that the subsystems function together as a system.

► Software Testing: It is a method of assessing the functionality of a software program. There are many
different types of software capable to test proper software. Broadly testing is divided into two categories
dynamic testing and static testing.

Lahore Garrison University


17
Glance of System Engineering Process

► Quality Analysis: It engage the fully software development process that includes
monitoring and improving the process, and making sure that all the standard procedures
are followed and ensuring that the problems are found and dealt with it.
► Risk managements and control: Risk management and control is the method by which
software engineer identify the risk, reduce the impact of risk, reduce the probability or
likelihood of risk and risk monitoring as well.
► Project opportunities analysis: It detailed review of the prospects for a software product
within a possible market.

Lahore Garrison University

You might also like