Software Engineering 3465
Software Engineering 3465
Software Engineering 3465
UNIVERSITY
ISLAMABAD
Code: 3465
Assignment NO 1
Question NO 1:
(a) What is meant by system Engineering? How software engineering
is different from other traditional engineering branches? Explain it in
detail with the help of a proper example.
Systems Engineering
Systems Engineering is a trans disciplinary and integrative approach to enable the successful
realization, use, and retirement of engineered systems, using systems principles and, and
scientific, technological, and management methods.
We use the terms “engineering” and “engineered” in their widest sense: “the action of working
artfully to bring something about”. “Engineered systems” may be composed of any or all of
people, products, services, information, processes, and natural elements.
establishing, balancing and integrating stakeholders’ goals, purpose and success criteria,
and defining actual or anticipated customer needs, operational concept and required
functionality, starting early in the development cycle;
establishing an appropriate lifecycle model, process approach and governance
structures, considering the levels of complexity, uncertainty, change, and variety;
generating and evaluating alternative solution concepts and architectures;
base lining and modelling requirements and selected solution architecture for each
phase of the endeavor;
performing design synthesis and system verification and validation;
While considering both the problem and solution domains, taking into account
necessary enabling systems and services, identifying the role that the parts and the
relationships between the parts play with respect to the overall behavior and
performance of the system, and determining how to balance all of these factors to
achieve a satisfactory outcome.
Systems Engineering provides facilitation, guidance and leadership to integrate the relevant
disciplines and specialty groups into a cohesive effort, forming an appropriately structured
development process that proceeds from concept to production, operation, evolution and
eventual disposal.
Systems Engineering considers both the business and the technical needs of customers with the
goal of providing a quality solution that meets the needs of users and other stakeholders, is fit
for the intended purpose in real-world operation, and avoids or minimizes adverse unintended
consequences.
The goal of all Systems Engineering activities is to manage risk, including the risk of not
delivering what the customer wants and needs, the risk of late delivery, the risk of excess cost,
and the risk of negative unintended consequences. One measure of utility of Systems
Engineering activities is the degree to which such risk is reduced. Conversely, a measure of
acceptability of absence of a System Engineering activity is the level of excess risk incurred as a
result.
Software Engineering:
Characteristics of software:
Efficiency:
The software should not make wasteful use of system resources such as memory and
processor cycles.
Maintainability:
It should be possible to evolve the software to meet the changing requirements of
customers.
Dependability:
It is the flexibility of the software that ought to not cause any physical or economic injury
within the event of system failure. It includes a range of characteristics such as reliability,
security and safety.
In time:
Software should be developed well in time.
Within Budget:
The software development costs should not overrun and it should be within the
budgetary limit.
Functionality:
The software system should exhibit the proper functionality, i.e. it should perform all the
functions it is supposed to perform.
Adaptability:
The software system should have the ability to get adapted to a reasonable extent with
the changing requirements.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for
SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
Question NO 2:
Differentiate the following terms:
Database Design
The main objectives of database designing are to produce logical and physical designs
models of the proposed database system.
The logical model concentrates on the data requirements and the data to be stored
independent of physical considerations. It does not concern itself with how the data will
be stored or where it will be stored physically.
The physical data design model involves translating the logical design of the database
onto physical media using hardware resources and software systems such as database
management systems (DBMS).
Question NO 3:
Explain different process models along with their relative merits and
demerits.
Most students are not provided much training in the process of developing software and as a
result have a very simplistic procedure they call "programming." Their understanding of their
own process is quite vague and described with very general terms "coding" and
"debugging."
Waterfall Model
Each phase is carried out completely (for all requirements) before proceeding to the
next.
The process is strictly sequential - no backing up or repeating phases.
Advantages:
Simple, easy to understand and follow.
Highly structured, therefore good for beginners.
After specification is complete, low customer involvement required.
Disadvantages:
Prototyping Model
A variation of the waterfall that adds a new phase, prototyping. There are several kinds of
prototypes but they all intend to reduce risk by building a quick and dirty replica or mockup of
the intended system. It can be used to demonstrate technical feasibility when the technical risk
is high. It can also be used to better understand and elicit user requirements. In either case, the
goal is to reduce risk and limit costs by increasing understanding of proposed solutions before
committing more resources.
Spiral Model
An iterative approach where multiple passes are made through each phase. During each
iteration the system is explored at greater depth and more detail is added. Appropriate for
exploratory projects that are working in an unfamiliar domain or with unproven technical
approaches. The iterative natures allows for knowledge gained during early passes to inform
subsequent passes. Requires low up-front commitment.
Advantage: Manages uncertainty inherent in exploratory projects.
Disadvantage: Difficult to establish stable documents; things keep getting modified during
each iteration.
Agile Model:
An iterative approach. During each iteration a single feature or small set of features are chosen
and implemented completely.
Advantages:
Can adapt to changing requirements because you haven't committed to big design that
encompasses everything.
Easy to change direction to adapt to dynamic market conditions.
Disadvantages:
Recommended by McConnell.
All analysis and design is done up front.
Each stage releases some fully functional subset of desired features.
Emphasis is on high quality releases.
Can incorporate prototyping.
Advantages:
Partial functionality available early.
Some flexibility in responding to changing market conditions or customer needs.
A complete and stable design is produced.
A compromise between waterfall and agile.
Question NO 4:
Answer the following questions properly:
Modeling
Social sciences rely increasingly on modeling as a result of their mathematization, the overall
computerization of science, and the increase of available data. Once dubbed the “hermeneutic
sciences,” the social sciences now resemble more than before the natural sciences, in which
model building, testing, and comparison occupy a central role. In this development, economists
have undoubtedly been pioneers among the social scientists: Since World War II, model
building has become the main practice of economists. What is more, the various modeling
methods adopted and developed by economists have disseminated to other social sciences.
Especially, political scientists have been inspired by the rational-choice style of modeling and
the associated mathematical techniques used by economists (see Morton 1999). Sociologists
have, however, preferred statistical modeling, being rather skeptical about modeling social
phenomena in abstract mathematical terms.
Interestingly, although social scientists use in their modeling activities the same kinds of
mathematical and statistical tools that natural scientists use, they often see models in a
different light than do natural scientists. Whereas for social scientists models tend to be highly
abstract and even unrealistic depictions of their target systems, both natural scientists and
philosophers have tended to appreciate the concreteness of models as opposed to the theory.
This contrast between the attitudes of social and natural scientists is partly explained by the
fact that with models, social scientists often refer to what they call “formal” or “mathematical
models,” which seem hopelessly plain and simple in comparison to the social phenomena they
aim to explain. Although by “formal models” social scientists usually mean “mathematical
models,” a model need not be mathematical to be formal. Any model that is presented
symbolically or diagrammatically, allowing one to manipulate the model in order to obtain
different results or predictions, can be regarded as formal. A good example of formal but not
mathematical models is provided by chemical formulas (such as H 2O for water). Several
philosophers, especially adherents to the semantic conception of theories (see below),
distinguish between “abstract models” and the mathematical means used to express them.
From their point of view, a set of mathematical equations, that is, what frequently is called
a “mathematical model” by social scientists, actually should not be regarded as a model, but
rather the abstract entity to which these equations refer.
Generally speaking, the most conspicuous feature of scientific models is perhaps the variety of
the forms and functions they may take in scientific endeavors. The things called “models” in
science make up a truly heterogeneous group: They can be diagrams, physical three-
dimensional things, mathematical equations, computer simulations, model organisms, or even
laboratory populations. Apart from explanation and prediction, models are used for heuristic
purposes and as a tool for theory construction. Moreover, it is typical of modeling that models
are often employed to explore the implications, dynamics, or internal consistency of multiple
theoretical assumptions. Models can also be used as “proofs” of various theoretical
possibilities.
Question NO 5:
Write short notes on the following topics:
● Architectural Styles:
An architectural style is characterized by the features that make a building or other structure
notable or historically identifiable. It is a sub-class of style in the visual arts generally, and most
styles in architecture related closely to the wider contemporary artistic style. A style may
include such elements as form, method of construction, building materials, and regional
character. Most architecture can be classified within a chronology of styles which changes over
time reflecting changing fashions, beliefs and religions, or the emergence of new ideas,
technology, or materials which make new styles possible.
Styles therefore emerge from the history of a society. They are documented in the subject
of architectural history. At any time several styles may be fashionable, and when a style
changes it usually does so gradually, as architects learn and adapt to new ideas. The new style is
sometimes only a rebellion against an existing style, such as post-modernism (meaning "after
modernism"), which in 21st century has found its own language and split into a number of
styles which have acquired other names.
Architectural Styles often spread to other places, so that the style at its source continues to
develop in new ways while other countries follow with their own twist. For
instance, Renaissance ideas emerged in Italy around 1425 and spread to all of Europe over the
next 200 years, with the French, German, English, and Spanish Renaissances showing
recognizably the same style, but with unique characteristics. An architectural style may also
spread through colonialism, either by foreign colonies learning from their home country, or by
settlers moving to a new land. One example is the Spanish missions in California, brought by
Spanish priests in the late 18th century and built in a unique style.
After an architectural style has gone out of fashion, revivals and re-interpretations may occur.
For instance, classicism has been revived many times and found new life as neoclassicism. Each
time it is revived, it is different. The Spanish mission style was revived 100 years later as
the Mission Revival, and that soon evolved into the Spanish Colonial Revival.
Vernacular architecture is listed separately. As vernacular architecture is better understood as
suggestive of culture, writ broadly (as well as a theory and a process rather than a thing-in-
itself), it technically can encompass every architectural style--or none at all. In and of itself,
vernacular architecture is not a style.
● Overview of Design
A design is a plan or specification for the construction of an object or system or for the
implementation of an activity or process, or the result of that plan or specification in the form
of a prototype, product or process. The verb to design expresses the process of developing a
design. In some cases, the direct construction of an object without an explicit prior plan (such
as in craftwork, some engineering, coding, and graphic design) may also be considered to be a
design activity. The design usually has to satisfy certain goals and constraints, may take into
account aesthetic, functional, economic, or socio-political considerations, and is expected to
interact with a certain environment. Major examples of designs include architectural
blueprints, engineering drawings, business processes, circuit diagrams, and sewing patterns.
The person who produces a design is called a designer, which is a term generally used for
people who work professionally in one of the various design areas—usually specifying which
area is being dealt with (such as a textile designer, fashion designer, product designer, concept
designer, web designer or interior designer), but also others such as architects and engineers. A
designer's sequence of activities is called a design process, possibly using design methods. The
process of creating a design can be brief (a quick sketch) or lengthy and complicated, involving
considerable research, negotiation, reflection, modeling, interactive adjustment and re-design.