You are on page 1of 14

I worked, as a business analyst at GMAC.

Responsibilities were to conduct user meetings, interview


business managers, to collect user requirements and to document user requirements. Assisted tech lead to
develop the functional specification document. Helped developer to understand requirement and assist QA
manager to develop test plan and test cases. Worked with tester to conduct QA testing. Once the app was
released, I helped the business users to conduct their UAT testing. Once the UAT testing was done, I
conducted user training. I also mentored junior BA, gave them the directions and instructions to do their
job. Throughout the project lifecycle, I was the person to keep communication with users and business
managers on regular basis. For ex- weekly meetings.

Mortgage Project: Scope of the project was to build the enterprise reporting system to support multiple
business areas including mortgage management, mortgage portfolio management. The application had 3
major components: ETL(Extract, transform, load) data loading, Datawarehousing and Reporting System.
The ETL tool that was used to extract, transform and load the data to the target in this project was
Datastage (version 6). The database used is Oracle (version 8i) and the reporting tool that we used is
Microstrategy (version 7i).
There were many business areas in our application. I am going to describe each one of them briefly as what
kind of information they contains.
1) New Loan Setup- includes name of all the customers who have applied for the mortgage and whose
mortgage has been approved, their personal information like phone number and their address. Type of
mortgage the customer has, the term of the mortgage like whether it is for 15 years or 30 years. Information
like who is the investor for this particular mortgage and how many mortgages a customer currently has.
2) Payment Application/Remittance- Includes how much monthly payment a customer is making, the dollar
amount, outstanding balance of the mortgage, term, rate at which the customer has the mortgage. Details of
how much is the property tax and insurance. Includes ACH# for electronic payment for the customers who
want to pay their monthly installment electronically.
3) Escrow and Reserve Administration- ESCROW information contains the amount of property tax and
insurance amount (separately) that the company will have to eventually give it to the state and the insurance
company. Reserve is the money that the company will get from the customer apart from their monthly
payment. For ex- In case of large mortgage, they might be afraid of something disaster happening to you in
which case you might not have cash to make their payment. So the company will use this money to cover
that payment.
4) Collateral Inspection and Monitoring- Includes information related to financial statement, property
inspection and foreclosure. Lets say if the mortgage company wants to review how the customer is doing
financially, it might ask them their financial statements (income and expense statement) for the last quarter
or even last 6 months. If they send someone for the property inspection, it will include the date when they
sent someone for the property inspection, what time they ordered inspection, results of the inspection will
also be reported, damage in terms of dollars, are their any other properties of the same customer that have
been put in foreclosure. When a customer’s one property is in danger of foreclosure, and he also has other
property on mortgage the company might tell the court that they need to overtake his other property in
order to cover the amount of cash that the customer owes.
5) Default Administration- this includes information such as Monitoring Loans, Delinquency / Collection,
Foreclosure, Bankruptcy. We can monitor which all customers are late in making their payments. We can
send their information to the customer service which will then be responsible for making phone calls to the
customers reminding them about their due payments. If the customer claims that he is bankrupt, the
company may goto the court to get their money back. Court can have the customer make their payment to
the company instead of paying his other outstanding loans if atall he has any.
6) Sales People- Include the information about the sales people( people who sells a partiular mortgage to
the customer). The sales people’s ID, their name, who’s their manager, how many mortgages a particular
sales person have sold, and accordingly what would be their commission.
7) Servicing Transfer, Purchase Acuisitions- Includes the information as to which all other mortgage
companies, GMACCM has sold the mortgage. And the other companies might also sell their mortgages to
GMACC. GMACC might also sell their loan to the secondary market and might also buy the loan from the
secondary market.

Now the transform function of the ETL component helps in solving data consistency. It does it by mapping
data from source to target. For example, lets say, the name of the customer under the business area

1
“customer service” is recorded as IBM and there is every possibility that the same customer has been
recorded as I.B.M. under the business area “Payment”, so in that case the transform function of the ETL
component will transform I.B.M. to IBM in the target. The database application used was the McCracken.
Now I am going to describe how the Microstrategy works which helps in generating reports. Generally, we
used hybrid data model in our database; Start schema which is a dimensional model and snowflakes which
is a normalized model. And dimensional model, the fact table has foreign keys pointing to the dimensional
tables. Now in the intelligence server, we define the project using project wizard. Then this project wizard
was linked to the database. It will then display all the tables that are in the database along with their
columns. From there, we can select the tables and their respective columns that we need. Among those
tables and columns, we can also select attributes and facts, to create project attributes (or dimensions), their
hierarchies, facts and calculated facts. Then the project was saved for the developers to use to later on
develop their reports. The report developer can create a report using report wizard. The report wizard was
connected to the project. By doing this, we could see our project in the datasource and we can then select
the attributes and the facts fields from the project that we want to display on our reports. The file is then
saved to HTML and then copied to Microstrategy DSS web.

Credit Card Project: Scope of the project was to build enterprise-reporting system to support multiple
business areas including Asset management, Portfolio management and Risk management. The ETL tool
used in this project was Datastage. The database used is Oracle(8i) and the reporting tool that we used is
Crystal reports (Version 9).
There were many business areas in our application. I am going to describe each one of them briefly as what
kind of information they contains.
1) Customer Service- Includes name of all the customers who are the current cardholders and who have
applied for the credit cards, their credit limit, their APR, their billing cycle, billing address, security
passwords etc. Information like which all customers fall under which group. We performed customer
segmentation before setting up any customer’s account. We analyze and view customer’s credit rating,
which helps us decide which category the customer should fall under. We can get the FICO score from the
credit bureau. For business customers, use Don and Bradstreet to check the customers’ profiles like how
much was their revenue for the last quarter, what’s their financial situation, we can also get their financial
reports. We can get the third party data about the customers from Transunion, Equifax and Experion. We
can evaluate customer applications, contact credit bureau to get customer’s demographic and lifestyle data,
get the FICO score. Grouping the customers into different categories is called customer profiling.
2) Payment-This includes how much monthly payment a customer is making, the dollar amount,
outstanding balance on the credit card, what’s the minimum payment due for the current billing cycle, if the
customer has a amount due for the previous cycle then it will add the interest and payment of that cycle
with the amount due for the current cycle. It will tell you which all customers are late in making their
payments for any cycle. We can also combine the FDR data to calculate the payments for the current billing
cycle for a particular customer.
3) Risk management-It includes information related to delinquency management. It also has bucket periods
defined like 30, 60, 90, 120, 150 and 180 day periods. It records that has been sent out to the customers
reminding them about their balance due for any particular cycle. If the customer falls beyond any particular
bucket period, this business area will record when the customer was send out notices regarding that. We
can send the information about the customers who owe some money to the company and we can have the
customer service call them up reminding them about the payments that are outstanding. If the customer still
doesn’t pay the outstanding amount due, the information is being sent to the collection agency that will
then be responsible for collecting the outstanding balance from that customer. Eventually, the information
is sent to the credit bureau, which will affect customer’s credit score.
We used crystal reports for generating our reports. We used crystal report designer (which is a software). It
links to the database through ODBC. We can save the report as RPT file. The business people can have the
viewer installed on their system, which will help them to open and view these reports. We can also save the
files as HTML and users can access them from any web browser.
We could generate several types of reports in our application:
1) Asset management report- this report is generated at the overall company’s level. It will show the total
dollar amount that all customers owe. This will also display various categories of the cards like Visa card,
Visa Gold card. For each card category, we can then view how many active accounts are currently there
and how much money do the customers owe for that particular category. We could also break it down by

2
customer segmentation. For example- we can view reports for the customers belonging to one group and
the customers belonging to another group separately and how much money they owe, respectively. Asset
Management reports will also help in marketing. From the generated reports, we can view which group of
customers are spending the most which helps is increase our revenue. We can then ask the credit bureau to
provide us with the demographic data of the customers who have exactly the same profile. So we can save
some postage by mailing the offer letters to only those customers, which fall into that group.
2) Risk Management report- we can have the profiles of the customers applying for the credit cards
compared to the profiles we already have in our system. It will help us making the decisions as to which all
customers should be approved for the credit and which all customers should not be approved. If a customer
applying for a credit card falls under a category of customers who has a lot delinquency, then he may not be
approved for the credit. We can also view how many accounts have a delayed payment and how many
accounts have been sent to collections. We can break down by the bucket periods and see which all
customers have delayed payments per each bucket. It will also help in marketing. We can have different
groups of customers displayed separately on the report. From the report, we can view which group of
customers have delayed the payment for a long time. So we can avoid offering those groups of customers
about our offers. So it will help us support marketing only those customers that have better profiles.

INTERVIEW QUESTIONS

Q1). How do you document requirements?


A- After I finish all the user meetings, interviews, JAD sessions, I will generally take notes. After finishing
requirement-gathering sessions, I will organize the requirements and put them into requirement document
templates. Then these templates can be sent to the users for the user review. Once the user approves it, we
can send this document to the project folder.
Q2). How do you come up with functional specification document?
A- It is a blueprint for like how we want a particular project or application to look and work. It also details
what the finished product will do and how a user will interact with it. It is in essence a contract between the
business customer and the IT project team, describing from a technical view what the customer expects.
We can develop this document using use case document and information from the stakeholders. Contents-
1) Introduction- project overview, purpose, scope, assumptions, business process flow (existing and
required), project reference, audience, glossary of terms, stakeholders. 2) Users and roles- internal business
users, customer and clients, vendors. 3) Requirements- key assumptions dependencies, open issues. 4)
Stakeholders signup.
Q3). How do you collect requirements?
A- I would start with reading the scope and the vision document. I would meet a broad range of users and
will understand their requirements. Facilitating discussion sessions between the stakeholders of the project,
Conduct one to one user requirement sessions between the key users and the business manager, Conduct
JAD (Joint Application Development) workshops
Q4). What is a business process model?
A- It defines the following elements- the goal or reason for the process, specific inputs, specific outputs,
resources consumed, activities that are performed in some order and events that drive the process.
Q5). What is the most challenging thing that you faced?
A- Meeting user expectations. On the delivery of the project, the user might be expecting more. In a multi
release, all users want their features to go in the first release.
Q6). How do you manage user expectations?
A- Managing user expectations is one of the major challenges that I came across during my project. We
have to make sure that users do not immediately expect 100% accuracy and completeness from the
application when we go live. The best thing to do would be to start with functional areas that we know are
valid and complete. The user expectations can be met by conducting review meetings at the end of
requirement phase, documenting the reviewed requirements in the review document, getting the approval
from user managers, keep the user and the managers updated with the latest status of reviewed
requirements, in case any feature was missed out or a new feature is to be added in the system or in other
words, the scope of the project changes, then we can work out with the project manager and fill the change
request form.

3
Q7). How do you conduct user meetings?
A- We can plan the user meetings ahead of time and send meeting invitations to the users with the agenda
of the meeting, location, time and the topic that will be discussed in the meeting. During the meeting, we
can take down document minutes, which will help us to identify who said what during the meeting. During
the meeting, we can also document the issues resolved and the issues that are not resolved. For any
resolved issue, we can identify the owner of that issue who will help in solving them. All the business
managers have to be presented with the question list if they lie in the scope of the project. Then they are
asked the time according to their convenience and finally the meeting can be arranged.
Q8). Have you ever worked with the management?
A- Yes, I have worked with the top-level management at many different occasions. 1) During the
requirement-gathering phase, I had the opportunity to do 1 on 1 interview with the business managers. 2)
Kept good communication with the management during the project phase. 3) Whenever there were any
issues, I worked with the project manager to resolve the issues. 4) I also had a chance to interact with the
managers during the requirement and project review meetings. 5) I made project presentations to senior
management during project review meetings.
Q9). How do you know you have collected the right requirements?
A- We can document all the requirements that we have collected. We can then send them to the users for
the user review at the end of each meeting. We can review questions with the user managers and get their
approval on the review document.
Q10). How do you decide which iteration contains what features?
A- Since everyone wants their features to be released in the 1st iteration or the 1st release, it could be
decided on the A) Business priority: like what feature should go first based on the scope document. We can
also get together with business managers and discuss with them what they require in the first release and
get their approval. B) Business complexity: We can study the business complexity and decide what feature
should come in what release changes.
Q11). What is a JAD?
A- Joint Application Development (JAD) is a management process, which helps, IS work effectively with
users to develop information technology solutions that really work. Its purpose is to define the project,
design a solution, and monitor the project until it reaches completion. JAD Scope - The JAD should cover
the complete development life cycle of a system. The JAD is usually a 3 to 6 month well-defined project.
Q12). Who do you invite in a JAD session?
A- Sponsor- he is the one who provides resources and support for the project, Business users- There are the
users of the system being designed, System Analysts- they provide non-technical explanations to help JAD
members understand and fully utilize the technology available, must have a session leader, developer,
scriber, end user representative.
Q13). How do you start a JAD session?
A- The JAD project leader meets with the project sponsor to complete a JAD project charter. The project
leader and the project sponsor form the JAD group. A JAD group should have 8 or fewer total members.
We can have the agenda items for the first JAD meeting like establish JAD group
expectations/responsibilities, determine meeting frequency, time and place, determine roles- project
sponsor, project leader, record keeper, clients. During planning, analysis and design phase, we can conduct
JAD sessions to review the current process, identify the problems/challenges in the current process,
brainstorm solutions for those problems and challenges, determine the course of action-tasks to be
accomplished. During the development, execute and finish phase, we can meet every 2 weeks to make sure
the development stays on track. We can discuss problems and challenges, make decisions jointly, set goals
for next meeting and assign tasks.
Q14). Who are the participants in business requirement process?
A- Business requirement team- individuals that drive the requirements sessions, assist the business in the
understanding of current processes, Scope management- team of individuals managing the requests and
change control processes, Key decision makers- individuals within the business that can make strategic
decisions that can alter, eliminate or enhance a business process, Subject Matter Experts- individuals within
the business that have knowledge of and can clearly articulate business processes from end-to-end, Key
knowledge experts- individuals within the business those have working knowledge of the day-to-day
activities
Q15). Have you ever worked with a 3rd party data?

4
A- Yes, getting the data from the credit bureau (transunion, experion, Equifax) and transaction summary
FDR (first data).
Q16). How do you conduct one to one user interviews?
A- We can conduct user interviews with the key users and the business managers. We can send them the
list of questions through email as what exactly needs to be done, we can ask them what time would be most
suitable for them to meet us and then we can go and see them.
Q17). How do you develop a test case?
A- A test case is used case driven. We can develop a test case based on the use cases and the functional
specifications. From the use case and the functional specification, we would know the behavior of that
functional module.
Q18). What is UAT (User Acceptance testing)? (Beta testing or validation testing)
A- Once the testing of product is done, we deploy it to the production. The users are not going to use it
right away. Users will perform UAT test procedures to make sure its working as desired.
Q19). What is Regression Testing?
A- After the first release, when the product is deployed, it is checked for bugs. The developers are made to
fix the bugs again, if there are any and the testers are made to test the product again.
Q20). What should you consider when managing a project?
A- 1) what is the business problem we are trying to solve, 2) what features are essential to a solution, 3)
what are the available resources, 4) how should requirements be prioritized, 5) how can be trace
dependency relationships between requirements.
Q21). How many users you have trained?
A- I helped users to do the UAT testing. After UAT was successful, I started with user training. I first
documented the user training material and I trained local users by conducting user training sessions on-site.
I also put user-training material on the intranet for the remote users to use that for their training. I grouped
users and conducted multiple training sessions and each training session had 20 users from different
business areas.
Q22). How do you handle issues?
A- Users from different business areas may have different expectations of the system. During the project
life cycle, users might come up with requirements, which changes the scope of the project. First, I will
understand the requirements and will determine what would be the impact of those requirements on the
project. If it does the change the scope of the project, I will escalate this issue to my project manager.
Q23). How do you securitize mortgage?
A- By selling it to the secondary market. They want to sell because they want cash so that they can issue
new mortgage.

Test Plan It is a document, which describes object, scope and focus on the software testing efforts.
Describes the strategy and approach used to plan, organize, and manage the project’s testing activities. It
identifies testing objectives, methodologies and tools, expected results, responsibilities, and resource
requirements. It is the primary plan for the testing team. A Test Plan ensures that the testing process will be
conducted in a thorough and organized manner and enable the team to determine the stability of the
solution. Test case It is a document which describes action, event, expected result, and in future that object
is perfectly working or not. It helps to ensure that project teams test the functions, features, and
performance of solutions rigorously and completely with a minimum of ambiguity.

How do you define the scope of your project?


One-way is to start top-down by creating several modeling constructs: our list of stakeholders, a context
diagram, a list of events, and a definition of the domain. From these documents, we can generate a list of
use cases in scope. Another approach is to generate a list of candidate use cases and associate them with
actors. At this point, the list of use cases will contain only the names of the use cases and not the details.

What is a use case?


A use case describes what a system does from the standpoint of an external observer. It emphasize on what
a system does rather than how it does. It several components like actors, use case and association. An actor
is who or what initiates the events involved in that task. Communications are lines that link actors to use
cases. An actor supplies and receives information to and from the system. Actors are systems specific,
which means the name of actors will change as per the utility of the system or who the system is meant for.

5
Use case- it facilitates the architecture of a system, it provides flexibility, it may be used as a basis for
planning, it may be used as the basis for analysis, design and implementation, it may be used as the basis
for testing, it may be used as the basis for documentation since use cases capture how users will use the
system.
Flow of events in the use case
It will describe how the use case starts and ends, what data is exchanged between the actor and the use case
but it does not describe the user interface. The flow of events for a use case is captured in text and the
scenarios are captured in the interaction diagram.

Alternative Flow A use-case flow that describes some alternative or exceptional behavior something that
causes the system to deviate from the basic flow of events.
Basic Flow The use-case flow that describes the most likely course of events the system will take when the
use case is performed. A basic flow means the most probable flow of events under normal circumstances.
Extension Use Case An extended use case indicates that one use case is simply a variation of another. It is
a use case that adds behavior to at least one other use case (referred to as the "base" or "extended" use
case). Extension is used to simplify the addition of behavior to an already complete use case description. It
is denoted by a dashed line.
Flow A section of a use case description that describes some full or partial path through the use case. A use
case always has at least a basic flow and may have one or more alternative flows.
Included Use Case A "fragment" of a use case that is referred to by two or more other use cases (referred
to as the "base" or "including" use cases). Included use cases are used to eliminate redundant description in
two or more use cases. It is denoted by a dashed line.
Scenario A scenario is a basic flow of events plus zero or more alternative flows.
Use-Case Storyboard A visual use-case description that depicts the flow of events with a sequenced series
of screen shots, often supplemented or annotated with the actual use-case description. Used to visualize the
behavior of the system or to gather feedback on a highly visual use-case description
Generalization A use case generalization shows that one use case is simply a special kind of another. It is
denoted by a solid line with the arrow head pointing at the generalized use case.
Preconditions lists any events that must happen prior to the event that the use case covers.
Postconditions cover anything that must be addressed after the scenario ends.
Exceptions detail any rare business situations that would affect the scenario.

Tips for writing use cases successfully:


1) develop use cases iteratively, 2) involve users directly, 3) depict use cases visually, 4) prioritize use
cases and use case scenarios, 5) use the use cases to harvest nonfunctional requirements, 6) trace the use
cases, 7) verify the use cases

View- A view present requirements that are stored in the project database. We can also manage and display
requirements, their attributes, and their relationships with other requirements in views.
Attribute Matrix- It displays all the requirements of a specified type. The requirements are listed in rows
and their attributes appear in columns.

What is Rational Requisite Pro?


It is a very powerful requirements management tool that helps teams to manage their project requirements.
It also promotes communication and collaboration among the members of the team. Its robust nature helps
us to organize and prioritize our requirements and to trace relationships between them. Features of
Requisite Pro- 1) Viewing documents, 2) Modifying requirements in documents or database, 3) Creating
requirements in the database, 4) Creating and modifying attribute matrix views, 5) Creating and modifying
traceability tree views, 6) Viewing, modifying and creating hierarchical relationships, 7) Creating
traceability links within and across projects, 8) Filtering and sorting requirements, 9) Creating and replying
to discussions, 10) since requisitepro allows multiple users to access the same project documents and
database simultaneously, project security is crucial. Users are given specific permissions that determine the
amount or kind of access they have to projects, 11) Connect our use case models with use case scenarios.
A Project includes a database and documents. The database stores document types, requirement types and
descriptors(attributes), discussions. Packages contain related requirements information. Within each
package, artifacts are organized in the order: documents, views, and requirements. Requirement types-

6
FEAT- tag for feature requirements, SR- tag for specification requirements, UC- tag for use case
requirements, TERM- glossary terms. Requirement attributes are data fields associated with each
requirement that contain important project information. It has 3 types of project templates- use case,
Traditional, and Composite
Traceability- It allows us to manage the effect of requirement change. We can link requirements of the
same type or of different type to indicate that they are related to or dependent on each other. It is directional
relationship between any two requirements of the same type or different types.
Traceability Matrix- It displays the relationships between 2 types of requirements or requirements of the
same type.
Traceability Tree- It displays the chain of traceability to or from requirements of a specified type.
Trace to/ Trace from state represents a bi-directional dependency relationship between two requirements.
Cross Project traceability- It helps us to establish traceability between requirements that reside in different
projects.
Hierarchical requirement relationships are one-to-one or one to many, parent child relationships between
requirements of the same type.
A relationship between requirements becomes suspect if RequisitePro detects that a requirement has been
modified. Then all its immediate children and all the direct relationships traced to and from also become
suspect.

Architecture Design- It describes the overall system design including the operating environment, the
development environment, and the components of the system. It is divided into 3 parts:-
Conceptual Design – It defines object usage scenarios, the input and output parameters, the application
high level feature requirements and high level relationship among all the players in the system.
Logical Design – It identifies a set of objects and services as well as a user interface and a logical database
design. A logical design identifies and defines all the objects and their behaviors, attributes, and
relationships within the scope of the solution.
Physical Design – The Physical Design is the application of real-world physical design constraints applied
to the Logical Design. It is developed by analyzing which pieces of the Logical Design already exist in
components, what can be reused or modified, and what new pieces must be created.

SODA? (Software Documentation Automation) Rational SODA is used for the automation of the software
projects through out the life cycle of a project. It increases the productivity by eliminating errors in the
extraction of the information. It retrieves information from various sources and use it to generate a
document or report according to a template.
-Open the appropriate template, save it with a different name and working directory, click SODA->
Genrate report.

ClearQuest? It’s a customizable defect and change request management system, which is designed for the
dynamic environment of software development. With clearquest, we can manage every type of change
activity associated with software development.

Clearcase? It is version control software. During the construction phase, when developer finishes coding,
they will send it to the clearcase for source code control.

Rose? It is a visual modeling tool that facilitates use of the Unified Modeling Language. It helps improve
communication both within teams and across team boundaries, thereby reducing development time and
improving software quality.

Visio (Version 5.0)? Vision is a drawing and diagramming solution that can help people transform business
and technical concepts into visual diagrams.

SDLC (Systems Development Life Cycle)


It is a process by which systems analysts, software engineers, programmers, and end-users build
information systems and computer applications. It is a project management tool used to plan, execute, and
control systems development projects. Reasons for failure- scope too broad or too narrow, lack of needed
skills, incomplete specifications, lack of management, too time-consuming.

7
1) Systems Planning- define the information architecture (data, network, activities, technology).
2) Systems Analysis- project scope, proposed project plan, project roles, new system’s objectives,
identify requirements, review requirements.
3) Systems Design- acquire necessary hardware and software, design and integrate the new system.
4) Systems Implementation- install and test the new system, deliver the new system into operation.
5) Systems Support- correct errors like software bugs and documentation errors, assist the users of
the system, adapt the system to new requirements.
Waterfall Model- each life cycle phase is completed in sequence and then the results of the phase flow on
to the next phase. There is no going back once the phase is completed. The decisions made at each phase
cannot be changed. Advantages- identifying system requirements long before the programming begins,
minimizes changes to the requirements as the project proceeds.

How Rational Unified Process relate to the Unified Modeling Language (UML)?
UML is a visual modeling language for software systems. RUP uses the UML visual notation and provides
you with guidelines on how to use the UML effectively. RUP has been developed hand-in-hand with the
UML. It is a software engineering process whose goal is to ensure the production of very high quality
software that meets the needs of its end-users. RUP is represented by few characteristics like it is iterative,
risk driven and use case driven.

Phases
These phases represent a certain emphasis to the activities within iteration.
Inception. the project is visualized and a broad picture of the project is drawn. A list of the various
activities of the project is also noted along with their objectives. It also includes how much budget should
be allocated and what time span will the project take. (Developers define the scope of the project and its
business case)
Life Cycle Objective Milestone The Inception phase ends at the Life Cycle Objective Milestone.
Elaboration. purpose is to analyze the problem domain and develop the project plan. It also eliminates the
highest risk elements of the project. During this phase, stakeholders will see real progress against the
project plan, and they will see the project plan becoming more and more stable and reliable. The
requirements are gathered in this phase from the stakeholders, users and everybody involved with the
project. The architectural design of the system is also decided in this phase and gap analysis between the
new and existing business processes is also done. Major risk analysis is also done at this stage. The various
use cases, actors and their relationship is given a lot of weightage in this phase. (Developers analyze the
project’s needs in greater detail and define its architectural foundation)
Life Cycle Architecture Milestone This milestone marks the end of the Elaboration phase, and the
beginning of the Construction phase.
Construction. Here the software is coded. Most of the use case is written along with all its actors as well as
their relationship between them are mentioned. A lot of iterative operations are performed. The basic flow
is obtained so that the stakeholders can have a first hand experience of the software and suggest specific
changes which need to be implemented in the final finished product. Testing of the software is also done at
this stage and a user manual is also documented. (Developers create the application design and source
code)
Initial Operational Capability Milestone Often called a beta release; this milestone marks the end of the
Construction phase and the beginning of the Transition phase.
Transition. The purpose of this phase is to release the software product to the user community. Here also
the beta testing is done for the final time. The final manual is documented and training to the users is
initiated. The next upgrade decision is also made in this phase and when it is needed to be implemented is
also decided. (Developers deliver the system to end-users)
Product Release Milestone This milestone marks the end of the Transition phase, and possibly the
beginning of the next Inception phase. It is crossed when the project team and the stakeholders agree that
the objectives set during the Inception phase (and modified throughout the other phases) have been met and
the user is satisfied.
Time allocation for the 4 phases:
Effort: ~5% 20% 65% 10%
Schedule: 10% 30% 50% 10%

8
RUP being a process describes who is doing what, when and how in the form of workers, artifacts,
workflows and activities respectively.
A worker defines the behavior and responsibilities of an individual or a group of individuals working
together as a team. The responsibilities of a worker include both to perform a certain set of activities as
well as being owner of a set of artifacts. Example: use case designer, architect. An artifact is a piece of
information that is produced, modified or used by a process. Artifacts are used as input by workers to
perform an activity and are the result of such activities. Artifacts may take various shapes or forms.
Examples: a model, such as the use-case model, source code, executables. A workflow is a sequence of
activities that produces a result of observable value. A workflow can be expresses as a sequence diagram, a
collaboration diagram, or an activity diagram. An activity of a specific worker is the unit of work that an
individual in that role need to perform. It is expressed in terms of creating or updating some artifacts, such
as a model, a class, a plan. Every activity is assigned to a specific worker. Examples of activities: plan an
iteration, find use cases and actors, review the design

9 core process workflows in the RUP-


Business modeling- here the business process is documented in the business use cases. Business use cases
are analyzed to understand how the business should support the business processes.
Requirement- the various requirements are gathered from the stakeholders as per their choice and
integrated into the systems after a thorough consensus is obtained from everybody involved in the project.
All the use cases and the actors are also identified. How the system will be developed is also decided in this
stage.
Analysis and design- here the blueprint of the whole project is developed and how the project will be done
is decided. The source coding is also done at this stage.
Implementation- here all the individual subsystem is integrated into the whole system and implemented
into an executable system.
Test- here the beta testing and all other testing is done to verify the smooth running of the system. If any
defects arise then it is also implemented into the system.
Deployment- the basic thing done in this stage is delivering the flawless finished product into the market
along with proper manual documentations. Installation is also undertaken at this stage.
Project management- this manages the proper functioning of the whole project from inception to the end
without any hiccups. Risk analysis is also done here.
Configuration and change management- conflict of multiple users using the same artifacts, multiple version
integrations, enforcing specific development techniques are undertaken in this workflow.
Environment- this gives us the guidelines of which specific software is best for the system.

A requirement is a condition or capability to which the system must conform. A software requirement is a
software capability needed by the user to solve a problem or achieve an objective. Requirements are the
details describing an application’s externally perceived functionality and properties. Attributes- clear,
correct, unambiguous, complete, verifiable, necessary, prioritized, feasible.
Functional requirements- they evolve from user requirements. Like boundary values, error messages,
validations, concurrent behavior, real time behavior, interaction with 3rd parties, constraints.
Non-Functional requirements- they cover quality attributes of the software such as Server, client, RAM,
CPU, HDD, Browsers, database, performance.
Requirements Management- It is a process that establishes and maintains agreement between the
customer and the project team on the changing requirements of the system.
Requirement problems-
Cant track changes, feature creep, difficult to write, not well organized, requirements may change, time-
sensitive, number of requirements can become unmanageable if not controlled, are not always obvious and
have many sources, are not always easy to express clearly in words.
Steps to resolve the problem-
1) Analyze the problem-Gain agreement on the problem being solved, identify stakeholders, define system
boundaries, and identify constraints imposed on the system.
2) Understand stakeholder needs-requirements have many sources. They may come from anyone with an
interest in the outcome of the project. Like customers, end users, project team members. It is important to

9
know how to determine who the sources should be, how to access those sources. The individuals who serve
as primary sources for the information are called stakeholders.
3) Define the system-It means to translate and organize the understanding of stakeholder needs into a
meaningful description of the system to be built.
4) Manage the scope of the system-the scope a project is defined by the set of requirements allocated to it.
Managing project scope to fit the available resources is key to managing successful projects.
5) Refine the system definition-it includes 2 considerations- developing more detailed descriptions of high
level system definition and verifying that the system will comply with stakeholder needs and behave as
described.
6) Manage changing requirements-requirements may change. A change to one requirement may have an
impact on other requirements. So it is important to keep track of the history of each requirement.

Quality Model- it is identifying all the quality dimensions that must be addresses during documentation of
the requirement, test planning, developing, testing and release of the software application.

% Requirement complete = total # of requirement complete / total # of estimated requirement


% Requirement accepted = total # of accepted requirement / total # of requirement
Post Mortem Metrics
Requirement stability index = (I – mod (N)) / I, I is the # of requirements and N is the # of suggested
changes in requirement because of doc issues.
Gap analysis- It is the gap between the customer actual requirement and the requirement documented.

UML- UML is applicable to object oriented problem solving. It provides a stable design language that
could be used to develop and build computer applications. A model is an abstraction of the underlying
problem. The domain is the actual world from which the problem comes. The values of an object’s
attributes determine its state. Classes are blueprints for objects. Objects are instances of classes.

Class diagram- It gives an overview of a system by showing its classes and the relationships among them.
They are static—they display what interacts but not what happens when they do interact. It is represented
by a rectangle divided into 3 parts: class name, attributes and operations.
Association- a relationship between instances of the two classes. There is an association between two
classes if an instance of one class must know about the other in order to perform its work.
Aggregation- an association in which one class belongs to a collection. An aggregation has a diamond end
pointing to the part containing the whole.
Generalization- an inheritance link indicating one class is a super class of the other. It has a triangle
pointing to the superclass.
Multiplicity of an association end is the number of possible instances of the class associated with a single
instance of the other end.
Composition is a strong association in which the part can belong to only one whole- the part cannot exist
without the whole. It is denoted by a filled diamond at the whole end.
A dependency is a relation between two classes in which a change in one may force changes in the other.
A constraint is a condition that every implementation of the design must satisfy.
An interface is a set of operation signatures. In C++, interfaces are implemented as abstract classes with
only pure virtual members. In JAVA, they’re implemented directly.
Stereotypes, which provide a way of extending UML, are new kinds of model elements created from
existing kinds.
A package is a collection of logically related UML elements.

Interaction- They are dynamic. They describe how objects collaborate.


Sequence- It is an interaction diagram that details how operations are carried out—what messages are sent
and when.
Collaboration- It displays object interactions organized around objects and their links to one another. They
convey the same message as sequence diagrams, but they focus on object roles instead of the times that
messages are sent.
Statechart- It shows the possible states of the object and the transitions that cause a change in state.

10
Activity- It focuses on the flow of activities involved in a single process. It shows how those activities
depend on one another. It can be divided into object swimlanes that determine which object is responsible
for which activity. A single transition comes out of each activity connecting it to the next activity.
Component- They are physical analogs of class diagram. It provides a physical view of the system. Its
purpose is to show the dependencies that the software has on the other software components in the system.
Deployment- They show the physical configurations of software and hardware. They show how a system
will be physically deployed in the hardware environment. Its purpose is to show where the different
components of the system will physically run and how they will communicate with each other.
Object- It is a snapshot of the objects in a system at a given point in time.

A report is a request for a specific, formatted data from the data warehouse.
A template defines the layout of general categories of information in a report.

Entity relationship
An E-R data model defines a set of objects and relationships among these objects. It describes the logical
structures of the databases. An entity is an object that exists and is distinguishable from other objects. A
relationship is an association between several entities.
Cardinalities
1) One to One- an entity in set A is associated with at most one entity in B. an entity in set B is
associated with at most one entity in A.
2) One to many- an entity in A is associated with any number in B. an entity in B is associated with
at most one entity in A.
3) Many to One- an entity in B is associated with any number in A. an entity in A is associated with
at most one entity in B.
4) Many to many- Entities in A and B are associated with any number from each other.

Deliverables based on a RUP project


Business architecture- describes the business processes and how those business processes are realized
within the activity system being investigated, Business case- provides benefit and cost information about
the product being built and defined success criteria for the project, Vision- defines what the project does,
the market it’s aimed at, the main features of the project, Use case model- defines the functional
requirements of the system, Supplementary requirements- defines the nonfunctional requirements of the
system, Use case- describes a service provided by the system, User interface prototype- simulates the user
interface. It is important if the system has a very complex GUI or has a series of nonfunctional
requirements relating to usability, Risk list- describes the risks to be mitigated during each iteration,
Component- consists of an executable unit of code to be deployed in the executable system, Functional
test- tests the functionality needed to meet a particular requirement, Performance test- tests the
performance of the system, Test environment- sets up the test environment for a particular iteration.

11
Doorsnet (Version 4.0)
Doorsnet is a commercial software package that combines database functions and configuration control
functions and makes data available over the web. It provides various capabilities for users to: 1) Review the
published data via the internet, 2) Submit change suggestions through the change proposal system, 3) View
suggestions that other people have submitted, 4) Monitor the status of the change suggestions.
Data links- related data records are connected by links. For ex- a contact’s information can be linked to
each of his publication citations (found in a separate module). This allows the users to find related
information by easily jumping from one module to another while it avoids the problem of duplicating the
data.
Search and sort capability- we can sort any module to display the information in a specific order. Click on
the word “Sort” in the header bar and select the attribute that we would like to sort by. We can use the
search feature to filter the amount of information displayed.
Change Proposal System- It allows database users to submit change proposals to which they have access.
Open the file that you want to review. In the module, click the action button on the object against which
you want to submit the change proposal. When you click an object’s action button, you will see an action
window that lists all the actions you can apply to the object. In the action window, click submit a change
proposal. The change proposal form will be displayed. Enter your comments into the form and click
submit.
Dynamic Requirements Management is a trend through enables us to work against defined requirements
while simultaneously keeping control of ongoing changes.
Importing documents-
Open doors then the folder or project where the word document is to be imported. Doors database project
and folder is displayed. Open MS word then the word document to be imported. Delete the title page and
the table of contents from the word document. On the word, click tools and select export to doors. A pop
menu will appear in which we will have to enter document number in the module name box and document
title in the module description box. Click export. After the export is complete, save the MS word document.

Business Objects (Version 5.0)


It is a query tool, which is used to create ad hoc reports from data stored in databases in a client/server
fashion. It provides facilities to retrieve data from relational databases & create reports & graphs, as well as
to export the retrieved data to other applications. It has 2 major components- One component is a servertool
that is meant for data preparation. It analyzes the structure of the underlying database. The results of this
analyzation are located in a file that is called the Universe. This universe file is accessed when the actual
query happens: the query is then optimized & it gives quick responses. The creation of the universe is
normally done only once. Specialists create such universe file on a server. After their work the universe file
is left on a server. The file waits to be accessed by the user who does the queries. The second component is
a tool that queries the data from the database & shows it to the user. This tool is normally located on a
client machine & a user can handle it. Webi reports- are the type of reports that we can run and view data
from our web browser. Red screen- It’s a business objects server error.

12
Credit Risk-
It is risk due to uncertainty in a counter party’s ability to meet its obligations. In assessing credit risk,
consider 3 issues- 1) Default probability- which is the likelihood that the counter party will default on its
obligation over the life of the obligation, 2) Credit exposure- in the event of a default, how large will the
outstanding obligation be when the default occurs, 3) Recovery rate- in the event of a default, what fraction
of the exposure may be recovered through bankruptcy proceedings or some other form of settlement.
Derivatives A security, such as an option or futures contract, whose value depends on the performance of
an underlying security. They are instruments that can be used to minimize the credit risk such as forwards
or swaps. They have a market value of zero when they are first entered into.

Secondary mortgage market:


Homebuyers apply for mortgages from primary market mortgage lenders such as banks, thrifts (which
include savings and loan associations and savings banks), mortgage companies, credit unions, and online
lenders. The primary market mortgage lender evaluates the homebuyer's ability to repay the mortgage, and
if the lender's criteria are met, arrangements are made to make the loan. The transaction between the lender
and the borrower culminates in what is called "the closing." By signing the closing documents, the lender
agrees to fund the purchase of the home and the homebuyer agrees to pay the mortgage as negotiated. Once
the loan is closed, the funds are transferred from the primary lender to the property seller.
Entering the Secondary Market: After the closing, the primary lender may either hold the mortgage in its
portfolio (along with other loans it has made) or sell it in the secondary mortgage market. When primary
mortgage lenders sell loans in the secondary market, they generally sell them as loans to an institution like
Freddie Mac. They then use the proceeds of the sale to make new loans to other homebuyers in their
community.
The cost of mortgage financing can be kept low by providing various investment opportunities to the
marketplace through two types of securities:
Mortgage-backed securities: Securities that represent an interest in a pool of loans, such as residential
mortgages. A MBS is a security that is based on a pool of underlying mortgages. MBS are usually based on
mortgages that are guaranteed by a government agency for payment of principal and a guarantee of timely
payment. We can submerge the uniqueness of each mortgage in the whole by grouping a large number of
mortgages together in a pool. We can then take the aggregated statistics such as the remaining amortization
and use these to describe the pool. We also have to make sure that no mortgage is too large by a portion of
the pool. So the servicing agent collects the mortgage payments and gives them to central paying agent,
which in turn passes through the payments to the final investor. Lets say someone took the mortgage for 5
years at 9%. If he decides to pay off his mortgage after 2 years, and the current interest rate is 5%, so we
lose 4% for 3 years. So we are forced to re-invest at 5%. So there is always some risk associated with MBS.
Debt securities: Securities issued by Freddie Mac to raise funds. The issuer promises to pay interest and to
repay the debt on a specified date.
How Mortgage-backed Securities Work
The primary mortgage market connection. Each month, the mortgages payments made by homeowners
flow to the holders of the mortgage-backed security. Here's how the process works: A homeowner sends
the monthly mortgage payment to a lender or loan servicer. If the mortgage had been purchased by
company A, the lender sends the homeowner's mortgage payment on to company A. Company A passes the
mortgage payment through to the holders of the mortgage-backed security, minus the fee they charge for
guaranteeing the timely payment to the investor, as well as some additional fees
The secondary mortgage market process. The company purchase mortgages from across the country that
share similar characteristics — payment terms, interest rate, loan term — and yet may have other
characteristics that vary. For example, some mortgages may carry greater credit risk than others, based on
the type of property or the credit history of the borrowers. The company purchases large numbers of
mortgages that they "pool" or bundle together into large groups. They guarantee timely payment of
principal and interest to the investors who invest in these pools. Pooled mortgages are used to back the
issuance of a particular type of instrument known as a mortgage-backed security (MBS).
How Debt Securities Work
The company may purchase millions of home loans from primary mortgage market lenders every year.
Those that they don't pool together and sell as securities, they retain in our portfolio. In these cases, they
continue to receive the homeowners' monthly payments sent along by the lenders, but they don't need to
pass those payments through to investors.

13
Capital Structure includes balance sheet liquidity, debt and equity issues, understanding term structure of
risk.
Net Present Value An approach used in capital budgeting where the present value of cash inflow is
subtracted from the present value of cash outflows.
Amortization The paying off of debt in regular installments over a period of time.
Value of a stock is the sum of the income (cash flow) you expect to get in each future year discounted at
the discount rates for those years.

14

You might also like