0% found this document useful (0 votes)
229 views

System Analysis and Design - An Object Oriented Approach With UML Chapter 1

Phases, steps, techniques and deliverables describe different aspects of the system development lifecycle (SDLC). Phases include planning, analysis, design and implementation. Each phase involves principal steps that produce major deliverables. The SDLC methodology chosen, such as waterfall, prototyping or RAD, determines how the phases are structured and refined.

Uploaded by

Jared Tan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
229 views

System Analysis and Design - An Object Oriented Approach With UML Chapter 1

Phases, steps, techniques and deliverables describe different aspects of the system development lifecycle (SDLC). Phases include planning, analysis, design and implementation. Each phase involves principal steps that produce major deliverables. The SDLC methodology chosen, such as waterfall, prototyping or RAD, determines how the phases are structured and refined.

Uploaded by

Jared Tan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

1. Compare and contrast phases, steps, techniques, and deliverables.

A phase is like stages. For example, when a student is applying for a university, he or she goes
through the same phases as everyone else which are gathering, applying, and accepting. Each of
these phases has steps; for example, information gathering includes steps such as searching for
schools, requesting information, and reading brochures. Students then use techniques, Internet
searching, that can be applied to steps like requesting information to create deliverables like
evaluations of different aspects of universities.
2. Describe the major phases in the SDLC.
Planning. This phase explains the purpose of the system, what business value it could bring and
how long to finish it.
Analysis. This phase explains who will use the system, when and where they are going to use it,
and what the system will do for them.
Design. This phase explains how the system will operate, which minor and specific programs
needs to work on first, what kind of hardware or software will implement in the system.
Implementation. This phase is the actual coding and build the system.
3. Describe the principal steps in the planning phase. What are the major deliverables?
Two steps: project initiation and project management. Project initiation will explain about the
business value and project management will introduce a new project manager. He will assemble
his project management team and creates a workplan to go about developing the system.
Deliverables are business value, project plan
4. Describe the principal steps in the analysis phase. What are the major deliverables?
Three steps: analysis strategy, requirement gathering, system proposal. First step is analayzing
current system and find out ways to design a new system, second step is gather all requirements
that is needed to build a new system, third step is combine all investigations and compile them
into written document called system proposal. The major deliverables are system proposal,
information.
5. Describe the principal steps in the design phase. What are the major deliverables?
Four steps: design strategy, basic architecture design for the system, database and file
specifications, and program design. Design strategy clarifies whether the system will be
developed by the company’s own programmers, whether the system will be outsourced to
another firm or whether the company will buy an existing software package. Architecture design
describes the hardware, software, and network infrastructure to be used. Database and file
specifications define exactly what data will be stored and where they will be stored. The analyst
team develops the program design, which defines the programs that need to be written and
exactly what each program will do. Deliverables are architecture design, interface design,
database and file specifications, and program design.
6. Describe the principal steps in the implementation phase. What are the major
deliverables?
Three steps: System construction, Installation, and support plan. System construction is building
and testing the system. Installation is the process by which the old system is turned off and the
new one is turned on. A support plan includes a formal or informal post-implementation review
as well as a systematic way for identifying major and minor changes needed for the system.
7. What are the roles of a project sponsor and the approval committee?
A project sponsor is a person or an organization which is responsible for generating the request
for the product or project. The request is called feasibility analysis. This analysis will be
presented to approval committee and they will decide whether the project should be undertaken.
8. What does gradual refinement mean in the context of SDLC?
It means going back to the previous phase and fixing previously done work. At the beginning,
developers only have a general idea about the system. But, after they get more information about
the system, they go back and refine their ideas.
9. Compare and contrast process-centered methodologies with data-centered methodologies.
Process centered methodologies focus on process model whereas data centered methodologies
focus on data models. PCM emphasizes first on defining the processes like how to assemble a
new system. DCM emphasizes on storing and organizing the data.
10. Compare and contrast structured design-based methodologies in general to RAD-based
methodologies in general.
Structured design-based methodologies are a traditional, formal step by step approach to the
SDLC. Logically, it moves from one phase to the next and documenting information usually
takes a long time before actual coding. Therefore, this minimizes the changes to the system
requirements as the project proceeds. If they change the requirements, expensive post-
implementing programming may be needed. RAD is created to address the weaknesses of
structured design methodologies by adjusting some SDLC phase to speed up some part of the
system development part and into the hands of users. Therefore, users could understand the
system and suggest revisions to bring the system closer to what is needed. Even though using
RAD speeds up the phases and the quality of the system, user expectations tend to increase
because how closely users work with IT. It was a lesser problem while working with structured
design-based methodologies.
11. Compare and contrast extreme programming and throwaway prototyping.
Extreme programming is founded on four core values: communications, simplicity, feedback and
courage. These four values provide a foundation that developers use to create any system. The
four core values are Communication, Simplicity, Feedback and Courage. Throwaway
prototyping is relatively thorough analysis phase used to gather information and to develop ideas
for the system concept. However, users many not completely understand many of the features
they suggest and there may be challenging technical issues to be solved. Each of these issues is
examined by analyzing, designing, and building a design prototype. Throwaway prototyping-
based methodologies balance the benefits of well thought out analysis and design phases with the
advantages of using prototypes to refine key issues before a system is built. Each of these issues
is examined by analyzing, designing, and building a design prototype.
12. Describe the major elements in and issues with water-fall development.
Waterfall development follows the phases of the life cycle in sequence (planning, analysis,
design, and implementation). Each phase is thoroughly documented, and approval is required
before proceeding to the subsequent phase. It is difficult, though not impossible, to go backwards
in the SDLC under waterfall development. Waterfall development requires that the system
requirements be precisely specified prior to implementation, and often "freezes" those
requirements during development. The high degree of effort devoted to specifying user
requirements is a strength of waterfall development but specifying those requirements on paper
is laborious and may lead to errors and omissions. "Freezing" the requirements during
development helps assure that the system is developed according to specifications, but in a
dynamic business environment, the system that is ultimately developed may bear little
resemblance to what is actually needed at the time the project is completed. Therefore, extensive
maintenance may be needed after implementation to revise the system to meet current
conditions.
13. Describe the major elements in and issues with parallel development.
Parallel development modifies the SDLC by altering the design and implementation phases. In
parallel development, general design of the entire system is performed; then, the project is
divided into sub-projects, each of which is designed in detail and implemented. Work on the sub-
projects occurs simultaneously to reduce the time between analysis and delivery of the system.
After all sub-projects are complete, the pieces are integrated into the final delivered system. The
total time to deliver the system can be reduced using parallel development as compared to
waterfall development. However, there can be significant challenges in integrating the sub-
projects since design decisions made in one sub-project may affect other sub-projects if they are
not completely independent
14. Describe the major elements in and issues with phased development.

15. Describe the major elements in and issues with prototyping.


Prototyping collapses analysis, design, and implementation into one phase, and this phase is
cycled through a few times until the system meets user needs. A system prototype is developed
early and rapidly, and user feedback is collected. Based on user feedbacks, the system is
modified and refined repeatedly. Ultimately, the system will be refined until the users accept it
and it can be put into production. Prototyping does provide rapid delivery of a system to the
users, and user involvement in determining refinements helps assure a good fit with business
needs. The haste to get something to the users quickly, however, may lead to poor initial
specification of the prototype. Subsequently, substantial revisions may be needed to correct for
inadequate initial analysis.
16. Describe the major elements in and issues with throw-away prototyping.
Like prototyping, throwaway prototyping differs in that the analysis phase is not collapsed but is
developed in full. Once completed, any defects may be addressed using a design prototype. A
design prototype is created to enable users to understand the issues under consideration. Many
design prototypes may be built to minimize the risk associated with the system by confirming
that important issues are understood before the actual system is built. Throwaway prototyping
can result in a longer time frame to delivery since the prototypes are not necessarily used for the
final design. However, this methodology creates an opportunity to address and resolve key issues
that arise before getting to the development stage.
17. Describe the major elements in and issues with XP.
Extreme programming, or XP, is founded on four core values: communication, simplicity,
feedback, and courage. These four values provide a foundation that XP developers use to create
any system. First, the developers must provide rapid feedback to the end users on a continuous
basis. Second, XP requires developers to follow the KISS principle. Third, developers must
make incremental changes to grow the system, and they must not only accept change, they must
embrace change. Fourth, developers must have a quality-first mentality. XP also supports team
members in developing their own skills. Three of the key principles that XP uses to create
successful systems are continuous testing, simple coding performed by pairs of developers, and
close interactions with end users to build systems very quickly. For small projects with highly
motivated, cohesive, stable, and experienced teams, XP should work just fine. However, if the
project is not small or the teams aren't jelled, then the success of an XP development effort is
doubtful. This tends to throw the whole idea of bringing outside contractors into an existing team
environment using XP into doubt.
18. Describe the major elements in and issues with Scrum.
Scrum development focuses on a few key practices. First, teams are self-organized and self-
directed. Unlike other approaches, Scrum teams do not have a designated team leader. Instead,
teams organize themselves in a symbiotic manner and set their own goals for each sprint
(iteration). Second, once a sprint has begun, Scrum teams do not consider any additional
requirements. Any new requirements that are uncovered are placed on a backlog of requirements
that still need to be addressed. Third, at the beginning of every workday, a Scrum meeting takes
place. Fourth, at the end of each sprint, the team demonstrates the software to the client. Based
on the results of the sprint, a new plan is begun for the next sprint. One of the major criticisms of
Scrum, like all agile methodologies, is that it is questionable whether Scrum can scale up to
develop very large, mission-critical systems. A typical Scrum team size is no more than seven
members
19. What are the key factors in selecting a methodology?
Clarity of the user requirements, Familiarity with the base technology, System complexity, need
for system reliability, Time pressures, Need to see progress on the time schedule.
20. What are the major roles played by a systems analyst on a project team?
Have the technical skills to understand the organization’s existing technical environment,
understand how IT could apply to businesses, problem solver, communicate well with users and
business managers and programmers, be able to give presentations about the system
21. Compare and contrast the role of a systems analyst, business analyst, and infrastructure
analyst.
A System Analysts role is to identify how technology can improve business processes, designing
the new business processes, designing the information system, ensuring that the system conforms
to information systems standards. A business analyst's role is to analyze the key business aspects
of the system, identify how the system will provide business value, design the new business
processes and policies. The Infrastructure Analyst's role is to ensure the system conforms to
infrastructure standards, identify infrastructure changes needed to support the system
22. What is the difference between classes and objects?
A class is a general template we use to define and create specific instances or objects. Every
object is associated with a class. For examples, class is like a doctor or a patient appointment
whereas object is an instantiation of a class, person, place or thing about which we want to
capture information. specific patients or doctors
23. What are methods and messages?
Methods implement an object's behavior or give the object an action to perform. Message is the
information sent to objects to trigger methods, essentially a function or procedure call from one
object to another
24. Why are encapsulation and information hiding important characteristics of object-oriented
systems?
25. What is meant by polymorphism when applied to object-oriented systems?
Object- oriented system focus on capturing the structure and behavior of information systems in
little modules that encompass both data and process modules known as objects, basic
characteristics of object-oriented system are classes, objects, methods, messages, encapsulation,
info hiding, inheritance, polymorphism, and dynamic binding
polymorphism- same message can be interpreted differently by different classes of objects, so
different pieces of info need to be collected and stored
26. Compare and contrast dynamic and static binding.
dynamic- or late binding is a technique that delays typing the object until run time- the specific
method that is called is not chosen by the oos until the system is running
static- the type of object would be determined at compile time and the developer would have to
choose which method should be called instead of allowing the system to do it
27. What is a use case?
use case diagrams allow the analyst to model the interaction of an IS and its environment.
28. What is meant by use-case driven?
use cases are the primary modeling tool to define the behavior of the system
describes how the user interacts with the system
used to identify and to communicate the requirements for the system to the programmers who
write it
are inherently simple because they focus on one activity at a time
29. What is the Unified Modeling Language?
UML stands for Unified Modeling Language. It is a set of diagramming techniques to help
visualize the design of a system.
30. Who is the Object Management Group?
OMG also known as Object Management Group, is an international, open membership, non-
profit technology standards consortium. It formally accepted UML as the standard for all object
developers in 1997.
31. What is the primary purpose of structure diagrams? Give some examples of structure
diagrams.
Structure diagram provides a way to represent the data and static relationship in an information
system. Examples of structure diagram are class, object, package, deployment, component,
composite structure design and profile.
32. For what are behavior diagrams used? Give some examples of behavior diagrams.
Behavior diagram provides the analyst with a way to depict the dynamic relationship among the
instances or objects that represent the business information system. Examples of behavior
diagram are activity, sequence, communication, interaction overview, timing, behavioral state
machine, protocol state machine, and use case.
33. Why is it important for an OOSAD approach to be architecture-centric?
It gives the architecture of evolving system requirements which drives the specification,
construction, and documentation of the system. A system usually has three architectural views,
such as: functional, static, and dynamic. Functional describes the behavior of the system. Static
describes the system in terms of attributes, methods, classes, and relationships. Dynamic
describes the behavior of system in terms of messages passed among objects.
34. What does it mean for an OOSAD approach to be incremental and iterative?
Incremental and iterative development means a system will go through continuous testing and
refinement throughout the life of the project. Incremental means baby steps. It takes time for
system analyst to really understand user’s problems by building up the architecture of the system
little by little. Iterative means repetitive. Whatever system development methodologies are being
implemented; some processes could be repetitive throughout the project.
35. What are the phases and workflows of the Unified Process?
Phases are inception, elaboration, construction, and transition. Workflows are engineering
workflow, business modeling workflow, requirement workflow, analysis workflow, design
workflow, implementation workflow, testing workflow, deployment workflow, supporting
workflow, project management workflow, configuration and change management workflow, and
environment workflow.
After the system is deployed, production phase starts automatically. Certain workflows are
working like operation and support, infrastructure management, test workflow, deployment
workflow, environment workflow, project management workflow, configuration and change
management workflow.
36. Compare the phases of the Unified Process with the phases of the waterfall model.
Inception phase is very similar to traditional planning phase. Inception phase must answer the
question of the system’s technical feasibility, economic feasibility, and organizational feasibility
and this phase works closely with other workflows. Sometimes, depending on the technical
difficulties of developing a system, a system prototype is developed. Elaboration phase develops
vision documents like building an UML diagram, finalizing the business case, revising the risk
assessment, completing a project plan for stakeholders.
37. Which phase in the SDLC is most important? Why?
planning phase because the project team needs to identify the business value of the system,
feasibility analysis and plans project. It is a fundamental process of understanding why an IS
should be built and how they will go about it
38. Describe the major elements and issues with an object-oriented approach to developing
information systems.
The major elements are that an object-oriented approach attempt to balance the focus between
process and data by incorporating it into one model. The idea is to standardize the process so that
no one gets lost in translation from the planning phase to the implementation phase. An object-
oriented approach is not something that can be easily attained overnight. It is a long drawn out
process that takes a lot of preparation to complete successfully. Quick deadlines are bad for an
object-oriented approach.
Look on the Web for different kinds of job opportunities that are available for people who want
analyst positions? Compare and contrast the skills that the ads ask for to the skills that we
presented in this chapter.
- After checking on the website, there are different analyst needed in most of the major
departments of a company. I researched on business analyst, data analyst and system
analyst and listed out what they do. A business analyst analyzes business needs, defines a
business case, elicits information from stakeholders, validates business solutions, holds
and involves in project management, and carries out quality testing. A data analyst
performs daily data entry, scrubs data, produces and maintains dashboards for different
departments, and create both internal and client-facing reports. In Chapter 1, we have
learned about system analyst defines application problem, evaluates procedures and
processes, develops solutions, coordinates production with programmers, and controls
solutions by establishing specifications. These three jobs require high analyzing skills to
identify the company specific challenges. For examples, system analyst will identify IT
challenge for the company or the clients, business analyst will identify business problem
and data analyst will identify problems of the company based on the data. Three of them
will coordinates with the employees and figure out a solution regarding to their distinct
problems.
Suppose you are a project manager who typically has been using a waterfall development-based
methodology on a large and complex project. Your manager has just read the latest article in
Computerworld that advocates replacing this methodology with the Unified Process and comes
to you requesting you to switch. What do you say?
- I will support Unified Process because Unified Process will ensure the production of
high-quality software within a predictable schedule and budget. However, waterfall
model sometimes takes too long because previous phase must hit its milestone before
starting a new phase. It moves forwards and is impossible to go backward to the previous
phases whereas Unified Process is iterative.
Investigate the Unified Modeling Language on the Web. Write a paragraph news brief describing
the current state of the UML. (Hint: A good website with which to begin is www.uml.org.)
- UML is a universal modeling language to help programmers visualize the design of a
system. Now, it could be used even for business modeling and other non-software
systems. Using OMG’s UML, it claims that it can produces codes, analyze existing
source codes and reverse it back into a set of UML diagrams. In the past, UML helps to
visualize the design of a system, but it could do more like executing UML model
interpretively in a way that a user can confirm that the system does what he or she wants.

You might also like