You are on page 1of 10

LAB#01:

Task1:lab1

The Waterfall model has the following problems:

1. People blindly follow plans.

In the traditional method, people pay more attention to how things will happen during the right moment

without being mindful if things are really falling into place. While planning is important, it is also

important that developers and quality checkers understand how things should happen, especially with

the client or the end-user. It is also important that all people involved in the project can immediately say

how a particular step in project fulfillment can fall apart without having to wait for the testing stage.

2. Sequential process and changes become costly

This approach does not make allowance for the change of defined requirements as the project

progresses. Thus there is a big potential that the software will not fully meet the requirement of the user,

it will be inefficient and have poor functionality. It is inadequate as developers cannot just go back and

change something in a previous phase as the consumers requirement change but the developer has to go

back to where the requirement needs to change and start that phase all over. Not until that phase is

complete can he move on to the next phase.

3. End-users do not know what they want.


Most times a end users mind is constantly changing and most persons have a vague idea of their software

requirements and its as the software develops that they specify their requirements. When it is time to

hand over the finished product to a client, it is likely that they will not like how it turned out, despite

deliberately saying otherwise during the initial stages. It is easy for clients and end-users to change what

they want over time. The Waterfall system does not have a way to resolve that yet, without having to

revise plans and redoing the entire project altogether.

4. Testing for quality may suffer.

It is impossible to accurately predict the outcomes of a project, and when the entire team is pressed for

time, it is possible to cut the testing stage short in order to meet the deadline.

5. You’ll never know what stage you really are on.

Since the product that you are trying to create will not be produced until the very end, you are not really

sure if you are still on planning or you are already on developing stage. That means that it is also likely for

you to spend more time on a stage than what you have expected because of this poor visibility. in the

end, the Waterfall method can be too risky since it is too rigid. In order for you to make you produce a

product that works and would be flexible enough to help you figure out what is working or not

Task1:lab1:2
Reason Organization use waterfall model:

 This model is simple and easy to understand and use.


 It is easy to manage due to the rigidity of the model – each phase has specific deliverables and a
review process.
 In this model phases are processed and completed one at a time. Phases do not overlap.
Task#02:
Extreme Programming:
1)
Kent Beck developed extreme programming during his work on the Chrysler Comprehensive
Compensation System (C3) payroll project.. The first Extreme Programming project was started March
6, 1996. Extreme Programming is one of several popular Agile Processes.
Simple design crc card, spike
solution prototype

2)
design

Pair programming
coding
Planning

User stories values test criteria iteration plan

release testing
Acceptance testing unit test continuous
integration Software
increment

Designing:
An iteration of XP programming starts with designing.
The guiding principles of this stage are:
 Thrust on simplicity by expressing a thing only once and not adding functionality in anticipation.
 Using systems metaphor or standards on names, class names and methods, and agreeing on
uniform styles and formats to ensure compatibility among the work of different team members
 Using Software Class Responsibilities and Collaboration (CRC) Cards that allow for a departure
from the traditional procedural mindset and make possible object oriented technology. Such
cards allow all members of the project team to contribute ideas, and collate the best ideas into
the design
 Creating spike solutions or simple programs that explore potential solutions for a specific
problem, ignoring all other concerns, to mitigate risk
Coding:
Coding constitutes the most important phase in the Extreme Programming life cycle. XP programming
gives priority to the actual coding over all other tasks such as documentation to ensure that the
customer receives something substantial in value at the end of the day.
Standards related to coding include:
 Developing the code based on the agreed metaphors and standards, and adopting a policy of
collective code ownership.
 Pair programming or developing code by two programmers working together on a single
machine, aimed at producing higher quality code at the same or less cost.
 Strict adherence to 40-hour workweeks with no overtime. This ensures the developers work in
the peak of their mental and physical faculties.
 Frequent integration of the code to the dedicated repository, with only one pair integrating at a
time to prevent conflicts, and optimization at the end.

Testing:
Extreme program integrates testing with the development phase rather than at the end of the
development phase. All codes have unit tests to eliminate bugs, and the code passes all such unit tests
before release. Another key test is customer acceptance tests, based on the customer specifications.
Acceptance test run at the completion of the coding, and the developers provide the customer with the
results of the acceptance tests along with demonstrations.

Planning:
The first phase of Extreme Programming life cycle is planning, where customers or users meet with the
development team to create ‘user stories’ or requirements. The development team converts user stories
into iterations that cover a small part of the functionality or features required. A combination of
iterations provides the customer with the final fully functional product. The programming team prepares
the plan, time, and costs of carrying out the iterations, and individual developers sign up for iterations.
One planning approach is the  grouping iterations essential for project progress in a linear fashion, and
arranging for completion of other iterations parallel to the critical path.

Extreme Programming vs. Waterfall    


Waterfall is another name for the traditional approach to software development. Before the Agile
method was invented, all the projects were managed in Waterfall style. This good old methodology is
sequential. Its projects have a number of stages (usually no less than five) they have to pass before
delivering to the customer.
The testing in Waterfall is conducted only at the final stages of work. That is why it is sometimes hard to
fix the bugs that occurred at the early stages of project’s realization with the means of this
methodology.
Extreme Programming has lots of features that distinguish it from the Waterfall approach.
First of all, it is iterative. Instead of having an amount of sequential stages it runs the same lifecycle time
after time until the final product is created.

 The next difference between Extreme Programming and Waterfall is the XP team. It is actually
an Agile team without strict structure. Like other Agile teams, it is self-managing.
 The constant involvement of the customer in the process of software development is another
feature that distinguishes the XP methodology from Waterfall .

4)
Yes , Extreme Programming (XP) is an agile software development framework that aims to produce
higher quality software, and higher quality of life for the development team. XP is the most specific of
the agile frameworks regarding appropriate engineering practices for software development.

5)
The testing in Waterfall is conducted only at the final stages of work. That is why it is sometimes hard to
fix the bugs that occurred at the early stages of project’s realization with the means of this methodology
.This problem is solved in xp.

6)
Extreme Programming disadvantages
 Some specialists say that Extreme Programming is focused on the code rather than on design.
That may be a problem because good design is extremely important for software applications. It helps
sell them in the software market. Additionally, in XP projects the defect documentation is not always
good. Lack of defect documentation may lead to the occurrence of similar bugs in the future.
 One more disadvantage of XP is that this methodology does not measure code quality
assurance. It may cause defects in the initial code.
 XP is not the best option if programmers are separated geographically.
Lab Assignment#02

Lab Assignment#02:Task1
Operational Feasibility:
 Will management support the project? Does customer support the project? Is that current
system will likeable and effectively used? Do users see the requirement for change?
 Will the new system ends in force reduction? If thus what’s going to happen affected
employees,
 Will new system needs coaching for users? If thus, is that the company ready to supply the
required resources for coaching of current employees?
 Will customer expertise adverse effects in any method, either quickly or permanently?
 Will risk to the company image or goodwill result?
 I legal or moral problems got to be considered.

Technical Feasibility:
 Do the corporate have the required hardware, software, and network resources? If not will the
resources be not heritable while not difficulty?
 Do the corporate have the required technical expertise? If not, will it’s acquired?
 Will a model be required?
 Does the planned platform have sufficient capability for future need? If not, will it’s expanded?
 Will the system be able to handle future dealing volume and company growth?

Economic Feasibility:
Means the projected advantages of the projected system outweigh the calculated prices
sometimes though about the whole value of possession. This incorporates current support and
maintenance prices. Also the acquaint prices. To see TCO we’d like to investigate the calculable
value in every subsequent area. Individuals (IT workers and users), Hardware and
instrumentation, package (including in-house development also purchases from
vendors).Formal and informal coaching , license and charges, Consulting expenses, facility prices
,and also the calculable value not developing the system or suspending the project. You may
conjointly do a close analysis of each tangible and intangible benefits.
Health System
and policies

Schedule Feasibility:
 Can the corporate or IT team management the factors have an effect on schedule
feasibility?
 Has management establish a firm timetable of the project.
 What condition should be glad throughout the event of the system?
 Is new project manager be appointed need?
 Will project management technique are obtainable to coordinate and management the
project.

Lab Assignment#02:Task2
Lab Assignment#03
Task1: System requests:
Numerous universities in uae have an online registration system. Unlike other high education institution.
Zayed university allows student to choose and register for the courses. Moreover zayd university uses a
system called banner web for online class registration. There are problem with this system such as many
students suffer before the online registration week due to lack of information about courses as well as
instructors. As a result, when student enroll for courses, they may face difficulties on the course, or they
don’t feel comfortable with the instructor. This issue will impact the students’ performance which leads
to failure of course. The registration system does not have enough information and a description of the
course, the instructor and student overall feedback. When student know which course they want and
instructor this will relieve pressure on the advisor during add/drop week. The university online
registration system is horizontal system, which serves all other fields of education.

Task2: System requirements:


More information-insufficient information capabilities

Business requirement:
The new system should be able to deliver more information to enhance registration process. Moreover,
the system should lead to the students and the advisor satisfaction. The system aims to enhance the
course description structure.

In terms of improvement, adding more information to the system will improve from different
prospective, the dates and timings does not need to be remodified during add/drop week, it will also
improve the services in the university services during add/drop week due to overload that occurs
through SAP during this week. Moreover, the course evaluation will improve course quality. Also the
level of satisfaction will improve every semester because student feedback has been taken into
consideration. Finally, giving thoughts to those solution that obtain the main problems will guide to
superior level of satisfaction.

User requirement:
Student:
 The system requires to help student make an informed decision related to the course they want
to register in
 The system needs to briefly describe what expects from a course in order to eliminate the
anxiety and concern of students
 The system should save students valuable time and effort through gathering necessary
information about the course, instructor , student feedback in one place

Registration Staff:
 The system expected to improve the allocation of instructor to each course.
 Registration staff needs to be able to view the student preferences in the selection of the course
provided
 The system needs to help registration staff to have better choices related to course instructor
and timings by acknowledgement student evaluation

Advisors:
 The system needs to relieve advisors from the pressure of add/drop week
 The system should improve advisors understanding of the course and scheduling, through
information added to the system
 The system should help advisors save time and effort by giving their advice all information
needed to choose a class

System requirement:

Functional Requirements:
Input:
Each student should access using the ID number and password in order to log in, for an easy search
student can add the CRN of the course and it will save the time, the advisor must give the students a
banner registration pin so on the registration day they will able to access the register.

Output:
The output is to deliver more information to boost the registration process.by providing more
information about the courses, the instructors including course evaluation and therefore, the student’s
feedback. It will help the students to form a choice associated with the course they require registering
in, it will save students time and energy of search. A bout courses and instructors the system must
briefly describe what expect from a course. Which eliminate the anxiety and concern of students

Process Requirement:
The system will scan evaluations and it will appear next to each course as description, when the
students choose the courses they want to take , the system will check for any time conflux if not, the list
will appear and the course of registration day they will submit and they don’t have to select courses all
over again

Non Functional Requirements:


Performance:
The new system is made to create the registration process more efficient, easier, and faster. Also, the
system meant to satisfy the students need by making new changes that will help them during their
academic calendar.

You might also like