Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Software Enginering Assignment 2

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Software Engineering-Assignment2

Name:
Waleed ahmad
Roll No:
15277
Class:
BS (IT) 3rd Semester
Submitted to:
Mam Ambreen liaqat

Question: 1

According to you which software development process will


be most appropriate for developing "Hotel Management
System".

Smart Hotel Software


Contains a set of tools suitable for central reservations, guest
relationship management, housekeeping, and more. It includes features like guest folios, check-
in and check-out confirmations, advance deposit alerts, integrated POS, and information sharing
capabilitie across multiple platforms.

Question: 2

Write down the User Requirements and System


Requirements of this system in Natural Language.

 User Requirements
The user requirements for a system should describe the functional and non-functional
requirements so that they are understandable by users who don’t have technical knowledge.

You should write user requirements in natural language supplied by simple tables, forms, and
intuitive diagrams.

The requirement document shouldn’t include details of the system design, and you shouldn’t use
any of software jargon, or formal notations.

 System Requirements
The system requirements on the other hand are expanded version of the user requirements that are

used by software engineers as the starting point for the system design.

They add detail and explain how the user requirements should be provided by the system. They

shouldn’t be concerned with how the system should be implemented or designed.

The system requirements may also be written in natural language but other ways based on

structured forms, or graphical notations are usually used.

Question: 3

Apart from the challenges of heterogeneity, business and


social change, and trust and security, identify other
problems and challenges that software engineering is likely
to face in the 21st century (Hint: think about the
environment).

Problems and challenges for software engineering. There are many possible challenges that
could be identified. These include,1 . Developing systems that are energy-efficient. This
makes them more usable on low power mobile devices and helps reduce the overall carbon
footprint of IT equipment.2. Developing validation techniques for simulation systems
(which will be essential inpredicting the extent and planning for climate change).3.
Developing systems for multicultural use. 4. Developing systems that can be adapted quickly to
new business needs5. Designing systems for outsourced development. 6. Developing systems
that are resistant to attack.7. Developing systems that can be adapted and configured by end-
users8. Finding ways of testing, validating and maintaining end-user developed systems.
Question: 4

Explain why incremental development the most effective


approach is for developing business software systems. Why
is this model less appropriate for real-time systems
engineering?
 Incremental development is established on the indication of developing the primary
execution, showing this to customer/user proxy and changing it over some versions until
the tolerable system has been developed. This incremental development is a major part
of agile approaches and reflects the way that we resolve software system problems.
Generally speaking, developing business software systems are more difficult, software
exhaustive and changes happens regularly when business processes or targets are
changed. In these cases using incremental development model to achieve business
software systems requirements makes more sense.
Real-time systems accuracy depends both on an input response and the time taken to
produce the output.
• Generally real-time systems contain many hardware modules which are cannot be
incremental and not simple to alteration.
• Moreover real-time systems typically protection critical which needed to constructs on
good planned procedure.
• In Incremental development model process is not visible and system structure inclines
to reduce as new increments are added. Money and time is expended on to improve the
software, regular change towards to corrupt its system structure.
Question: 5
What is the most important differences between generic
software product development and custom software
development?

 Generic software development


1. The generic software development is done for developing a general purpose software.
2. In this development process, the software developers have to depict the end-users
specifications.
3. From designing and marketing perspective, this type of development is very difficult.
4. Large number of users may be using this kind of software.
5. Quality of the product is not a preference for generic software.
6. Development team controls the process of generic software development.
7. Generally the software developed is economical. There may be some hidden costs such as
installation and implementation cost.
8. Example of generic software product development is Word-editing software.
 Custom software development 
1. Customer software development is done to develop a software product as per the needs of
particular customer.
2. In this development process, the end-user requirements can be aggregated by
communicating by them.
3. This development does not require marketing, because it is developed for appropriate
group of users.
4. This type of software is used by limited number of users.
5. Quality is the main criterion in customer software product. Best quality of the product is
focused for customer or company.
6. Customer determines the process of software development in this type of product.
7. Software product is of high cost as the particular product for customer is developed.
8. Inventory control and management system are examples of customer software
development.

Question: 6

To help counter terrorism, many countries are planning or


have developed computer systems that track large numbers
of their citizens and their actions. Clearly this has privacy
implications. Discuss the ethics of working on the
development of this type of system.
Let's say you are a software engineer that has been assigned to work on this kind
of system - you have been told that although it may seem like it's not in the
public's interest because it invades the public's privacy, it actually is in their
interest because it will keep them safe. 

If you are wholeheartedly against implementing software that invades the privacy
of others, then hopefully you can opt out of the project without losing your job.
Maybe your employer can convince you that the pros outweigh the cons for this
type of system and show you why they are acting in the public's best interest and
are not violating the Code of Ethics. Because of extreme variations in opinion, it is
hard to engineer software that everyone is going to agree with. For a doctor, the
ethics are a little simpler: do whatever you can to make a patient healthy. For
software engineers, there is a little more debate when it comes to ethics

Question: 7

Extreme programming expresses user requirements as


stories, with each written on a card. Discuss the advantages
and disadvantages of this approach to requirements
description
Extreme programming (XP) is perhaps the best known and most widely used of the agile
method. The name was coined by Beck because the approach was developed by pushing
recognized good practice In Extreme programming, requirements are expressed as scenarios
which are implemented directly as a series of tasks. This program involves several practices
through Incremental planning, Small releases, Simple design, Test-first development,
Refactoring, Pair programming, Collective ownership, Sustainable pace, on-site customer.

Advantages of stories:
1. They represent real situations that often happen so the system will support the most common
user operations.
2. It is easy for users to understand and critique the stories.
3. They represent increments of functionality - implementing a story delivers some value to the
user.
Disadvantages of stories
1. They may be incomplete and their informal nature makes this in completeness difficult to see.
2. They focus on functional requirements rather than non-functional requirements.
3. Representing cross-cutting system requirements such as performance and reliability is
impossible when stories are used.
4. The relationship between the system architecture and the user stories is unclear so
architectural design is difficult

Question: 8

Explain why the rapid delivery and deployment of new


systems is often more important to businesses than the
detailed functionality of these systems.
Now a days any businesses were willing to trade off software quality and compromise on
requirements to achieve faster deployment of the software. In this way, Rapid development and
delivery is the most critical requirement for software system. Because these business are
operating in a changing environment. They have to respond to new opportunities and markets,
changing economic conditions and the emergence of competing products and services. So,
Rapid delivery focuses on the delivery of the system. It is good for a system that is required to
show the result of the system. And, it is good for business since the system can be used early if
the essential functionality is available and be later improved as the user requirements change.
Rapid delivery can make profit swiftly. Rapid software development processes are designed to
produce useful software quickly. At the same time, it is not good for critical-system development
since the delivery of the system needs to be perfect and without failures.

You might also like