Professional Documents
Culture Documents
Vaibhav Narkhede 171090977, BTECH EXTC Assignment 1
Vaibhav Narkhede 171090977, BTECH EXTC Assignment 1
Managing an Ip-phone:
1. For managing the incoming and outgoing connections the phone must have a reliable
internet connection via ethernet or a wifi connection.
2. The phone must be provided with a public ip address so that it is uniquely identified
over a network.
3. The internet applications have an issue of easy phone taps. Hence, securing the
conversations over appropriate protocols and a security patch to overcome these and
the D-Dos attacks will be implemented.
4. Call Logger to log the call requests and tracing of the details of the received call is
important to eliminate unsafe requests.
5. OTA software update capacity (ethernet bootloader) to enhance the software with the
new patches.
Having these conditions managed with these design criteria a ip-phone is ready to go
>>Spiral Model:
• Spiral model is one of the most important Software Development Life Cycle models,
which
provides support for Risk Handling. In its diagrammatic representation, it looks like a
spiral with
many loops.
• The exact number of loops of the spiral is unknown and can vary from project to
project. Each loop of the spiral is called a Phase of the software development process.
The exact number of phases needed to develop the product can be varied by the project
manager depending upon the project risks.
• As the project manager dynamically determines the number of phases, so the project
manager has an important role to develop a product using spiral model.The Radius of
the spiral at any point represents the expenses(cost) of the project so far, and the angular
dimension represents the progress made so far in the current phase.
• 2. Identify and resolve Risks: During the second quadrant all the possible solutions are
evaluated to select the best possible solution. Then the risks associated with that
solution is identified and the risks are resolved using the best possible strategy. At the
end of this quadrant, Prototype is built for the best possible solution.
• 3. Develop next version of the Product: During the third quadrant, the identified features
are
developed and verified through testing. At the end of the third quadrant, the next version
of
the software is available.
• 4. Review and plan for the next Phase: In the fourth quadrant, the Customers evaluate
the so far developed version of the software. In the end, planning for the next phase is
started.
• Prototyping Model also support risk handling, but the risks must be identified
completely before the start of the development work of the project. But in real life
project risk may occur after the development work starts, in that case, we cannot use
Prototyping Model.
• The Spiral model is called as a Meta Model because it subsumes all the other SDLC
models. For example, a single loop spiral actually represents the Iterative Waterfall
Model. The spiral model incorporates the stepwise approach of the Classical Waterfall
Model. The spiral model uses the approach of Prototyping Model by building a
prototype at the start of each phase as a risk handling technique. Also, the spiral model
can be considered as supporting the evolutionary model – the iterations along the spiral
can be considered as evolutionary levels through which the complete system is built.
Advantages
• Risk Handling: The projects with many unknown risks that occur as the development
proceeds, in that case, Spiral Model is the best development model to follow due to the
risk analysis and risk handling at every phase.
• Good for large projects: It is recommended to use the Spiral Model in large and complex
projects.
• Flexibility in Requirements: Change requests in the Requirements at later phase can be
incorporated accurately by using this model.
• Customer Satisfaction: Customer can see the development of the product at the early
phase of the software development and thus, they habituated with the system by using
it before completion of the total product.
Disadvantages
• Complex: The Spiral Model is much more complex than other SDLC models.
• Expensive: Spiral Model is not suitable for small projects as it is expensive.
• Too much dependable on Risk Analysis: The successful completion of the project is
very much dependent on Risk Analysis. Without very highly experienced expertise, it
is going to be a failure to develop a project using this model.
• Difficulty in time management: As the number of phases is unknown at the start of the
project, so time estimation is very difficult
Q3) WHAT ARE THE CHALLENGES THAT YOU NEED TO SUFFER WHILE
DEVELPOING AN EMBEDDED SYSTEM.
>> Embedded software is always a constituent of a larger system, for instance, a digital watch,
a smartphone, a vehicle or automated industrial equipment. Such embedded systems must have
real-time response under all circumstances within the time specified by design and operate
under the condition of limited memory, processing power and energy supply. Moreover,
embedded software must be immune to changes in its operating environment – processors,
sensors, and hardware components may change over time.
1) Security became a burning issue in the digital world. The related risks grow
exponentially, especially so for IoT devices gaining popularity worldwide and
becoming more interconnected to each other. Because modern home appliances like
electric cookers, refrigerators and washing machines have connectivity feature
integrated by default, Internet of Things now is exposed to a serious risk of hacking
attacks.
3) Connectivity: There are so many different ways to connect device to the internet.
Wireless connection can be established through Wi-Fi, Ethernet, Edge, LoRa, a
Bluetooth bridge, and other channels.
4) Over the air updates: The issue standing next to connection to the internet is remote
updates of the firmware. In case of standalone device, it is enough to send update to a
secure site and notify users to download and install it. The situation is different with the
IoT devices; the updates must be delivered and executed on their own without user’s
intervention
>> Software configuration management is the process of organizing, recording and facilitating
software development in a transparent, high speed environment that can operate as a
functioning whole while not overlooking the details
6) Software configuration management answers the five Who, What , When, Where and
Why, by maintaining records of changes and what impact these changes have on the
application under development as well as upgrades and releases.
7) Cost reduction by having detailed knowledge of all the elements of the configuration
which allows for unnecessary duplication to be avoided. Your business will have
greater agility and faster problem resolution, giving a better quality of service for your
customers.
8) Enhanced system and process reliability through more rapid detection and correction
of improper configurations that could negatively impact performance.
Q5) SHORTNOTES:
>> The customer is trying to establish whether something is actually financially viable. Without
a spec, only a rough idea can be given, and there are always lots of decisions to make in the
design process. Give the same specification to ten engineers and you
will get ten, possibly wildly different, designs, all of which may meet the specification
perfectly. However, one of those designs will win in terms of unit cost and another (probably
not the same one) will win on development cost. A third may have the best technical
specification, though providing they all meet the original spec.
A) Balancing TIme
The design engineer has to balance the three factors of technical spec, development cost,
and unit price. To make the best choice of where the bias should be, these factors are
considered:
• Time to market
• Available development budget
• Target market sale price
• Anticipated annual sales volumes
• Value in exceeding or modifying the specification
B)Unit Cost:
Figure 1. High time to market pressure: design choices need to reflect the focus on
reducing development cost and time.
Figure 2. Given a free choice, engineers tend to make design choices that focus on the best
technology and features at the expense of development time and unit cost.
At the centre of the technical decisions are the trade-offs between the use of software vs
hardware.
The software cost doesn’t appear on the bill of materials generally, but it is far from ‘free’.
Software development can be extremely onerous and, in a typical project that we carry out,
the software cost (application plus drivers) makes up about 2/3 of the overall development
cost.
Choice of components can have a fundamental impact on the software development time. As
a result there is often a conflict between this time and the unit cost as shown in Figure 3 :
Figure 3. In embedded designs, using more costly components can often help reduce
software development time (and vice versa).
C) Technical Specification
The technical specification trade-off results in mainly in the section that will the product be
suitable in changing environments and supposed to take on the adaptability of the newer
versions.
Considering over NFC for WIFI or a expandable memory as an option for the increasing
demand for the built in memory.
These technical specifications rather than affecting the intellectual part of embedded systems
move their primary focus on the building costs of the system and hence each unit that goes in
its making.
Requirements specification:
This activity is used to produce formal software requirement models. All the requirements
including the functional as well as the non-functional requirements and the constraints are
specified by these models in totality. During specification, more knowledge about the problem
may be required which can again trigger the elicitation process.
The models used at this stage include ER diagrams, data flow diagrams (DFDs),
function
decomposition diagrams (FDDs), data dictionaries, etc.
Requirements management:
1) Requirement management is the process of analysing, documenting, tracking,
prioritizing and agreeing on the requirement and controlling the communication to
relevant stakeholders.
2) This stage takes care of the changing nature of requirements. It should be ensured that
the SRS is as modifiable as possible so as to incorporate changes in requirements
specified by the end users at later stages too.
3) Being able to modify the software as per requirements in a systematic and controlled
manner in an extremely important part of the requirements engineering process.
>> INTEGRATION:
System integration is, quite simply, the combination of systems to build a larger system
or set of systems. Following a bottom to top approach, one can build an understanding of how
chip-level embedded systems can make up board-level embedded systems, which could then
form device-level systems, and so on.
The concept of system integration has been gaining unprecedented importance because
the needs for interoperability and open yet secure embedded system data exchange has gained
momentum. Whether the integration is horizontally or vertically, integrated embedded systems
are an important piece in interoperable controls and data security on the plant floor.
TESTING:
Testing can be stated as the process of verifying and validating that a software or application
is bug free, meets the technical requirements as guided by its design and development and
meets the user requirements effectively and efficiently with handling all the exceptional and
boundary cases.
Testing can be divided into two steps:
1. Verification: it refers to the set of tasks that ensure that software correctly implements a
specific function.
2. Validation: it refers to a different set of tasks that ensure that the software that has been
Built is traceable to customer requirements.
Integration testing is the process of testing the interface between two software units or module.
1. Big-Bang Integration Testing –
It is the simplest integration testing approach, where all the modules are combining and
verifying the functionality after the completion of individual module testing. In simple
words, all the modules of the system are simply put together and tested. This approach
is practicable only for very small systems. If once an error is found during the
integration testing, it is very difficult to localize the error as the error may potentially
belong to any of the modules being integrated. So, debugging errors reported during
big bang integration testing are very expensive to fix.
2. Bottom-Up Integration Testing –
In bottom-up testing, each module at lower levels is tested with higher modules until
all modules are tested. The primary purpose of this integration testing is, each
subsystem is to test the interfaces among various modules making up the subsystem.
This integration testing uses test drivers to drive and pass appropriate data to the lower
level modules.
3. Top-Down Integration Testing –
Top-down integration testing technique used in order to simulate the behaviour of the
lower-level modules that are not yet integrated. In this integration testing, testing takes
place from top to bottom. First high-level modules are tested and then low-level
modules and finally integrating the low-level modules to a high level to ensure the
system is working as intended.
PACKAGING: