Professional Documents
Culture Documents
Terry Cheng ()
terrycheng@maveosystems.com Chief Technology Officer
http://www.maveosystems.com
Copyright Maveo Systems Shanghai 1
Session 1
Introduction to
Software Architecture
Software Architect is Someone Who Can Make Sub-optimal Decision in Total Darkness
Copyright Maveo Systems Shanghai 3
Software architecture is a set of concepts and design decisions about the structure and texture of software that must be made prior to concurrent engineering to enable effective satisfaction of architecturally significant explicit functional and quality requirements and implicit requirements of the product family, the problem, and the solution domains.
Architecture is the organizational structure of a system. An architecture can be recursively decomposed into parts that interact through interfaces, relationships that connect parts, and constraints for assembling parts. Parts that interact through interfaces include classes, components and subsystems.
History/Evolution
Driven by business need Cost cutting Increase Revenue Strategic Advantage Driven by new technology Main Frame/Batch PC/interactive Real time LAN/WAN Internet Driven by Software Engineering principle, methodology Functional decomposition, sub routines Information Engineering Object Oriented Methodology
Copyright Maveo Systems Shanghai 9
Application Architecture
Technical Architecture Product Architecture
10
11
12
13
14
Browser
struts framework
ActionForm Action
Agnt Applet
Servlet Controller
Servlet Request (Form Submission)
Servlet Actions
EJB
xml
URL Request html
ActionMapping
JSP
struts taglibs maveo taglibs
HTML / XSL / css / js / images etc.
Content Display
XSLT Processor (Microsoft DOM) xsl
JSP Mapping
xsl
Database
MAVEO UI Framework Diagram By: Patrick Lai Last Updated: 2 July 2002 Version: 2.0
15
3. 50
EA 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3.
Company Equipment StandByLOC Appraised by Supplier: Company DateExpire: date
EA
EA
EA
EA
EA
EA
EA
EA
EA
EA
EA
EA
# -
PhysicalStaticCollateral
50 -U -U -U -U -U -U -U -U -U -U -U -U -U -U nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg is is is is is is is is is is is is is is is te te te te te te te te te te te te te te te re re re re re re re re re re re re re re re d d d d d d d d d d d d d d d d TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA L L L L L L L L L L L L L L L L Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve rs rs rs rs rs rs rs rs rs rs rs rs rs rs rs rs io io io io io io io io io io io io io io io io n n n n n n n n n n n n n n n n
PurchaseCost: double PurchaseDate: date CurrentMarketValue: double appraisedby: company AppraisedDate: date StaticCollateral Owned By BankGuaranties Located At Location: address* NextEvaluationDate: date DateExpire: date RealEstate -
Ow ner
Address
Ev aluateationFreq
OwnerType:
RealEstateType
CashDeposite
3. 50
EA 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50 3. 50
EA
EA
EA
EA
EA
EA
EA
EA
3. 50
EA
3. 50
EA
3. 50
EA
3. 50
EA
3.
# # #
50 -U -U -U -U -U -U -U -U -U -U -U -U -U -U nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg is is is is is is is is is is is is is is is te te te te te te te te te te te te te te te re re re re re re re re re re re re re re re d d d d d d d d d d d d d d d d TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA L L L L L L L L L L L L L L L L Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve rs rs rs rs rs rs rs rs rs rs rs rs rs rs rs rs io io io io io io io io io io io io io io io io n n n n n n n n n n n n n n n n
Priv atePublicCoShare IntellectualProperties Colaterral AvailabilityCalculation currency: AdvanceRatio: float Value: double Is a type of Debtor
Bank: char DateDeposited: date DateExpire: date Amount: double Currency: int
+1
DynamicCollateral
ReportFreqType
FinishedGoods
AdvanceRatio: float
3. 50
EA 3. 50 3. 50
EA
3. 50
EA
3. 50
EA
3. 50
EA
-
3. 50
EA
OweBy
3. 50
EA
3.
AR
EligibilityCriteria
TimeBasedRule:
50 -U -U -U -U -U -U -U -U -U -U -U -U -U -U nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg is is is is is is is is is is is is is is is te te te te te te te te te te te te te te te re re re re re re re re re re re re re re re d d d d d d d d d d d d d d d d TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA L L L L L L L L L L L L L L L L Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve rs rs rs rs rs rs rs rs rs rs rs rs rs rs rs rs io io io io io io io io io io io io io io io io n n n n n n n n n n n n n n n n
AdjForInventory: double = 0 Inv entory
EA 3. 50
EA
EA
EA
EA
EA
EA
EA
EA
EA
EA
EA
EA
50 -U -U -U -U -U -U -U -U -U -U -U -U -U -U nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg is is is is is is is is is is is is is is is te te te te te te te te te te te te te te te re re re re re re re re re re re re re re re d d d d d d d d d d d d d d d d T T T T T T T T T T T T T T T T
3. 50
3. 50
3. 50
3. 50
3. 50
3. 50
3. 50
3. 50
3. 50
3. 50
3. 50
3. 50
3.
16
Platform
Layer/Network Model Domain Framework
Technical Framework
Deployment Model
17
Physical Allocates processes to processors, nodes, networks. View Use Case View (The Plus One) Captures requirements used to develop and validate each of the other views.
18
19
20
Sample/framework development
http://www.bredemeyer.com/
Copyright Maveo Systems Shanghai 21
Whats Next
Pattern Product line Architecture Documenting Software Architecture Evaluate Software Architecture
22
Summary
Software Architecture need to consider from both technical point of view as well as business point of view There are different ways to communicate architecture design There is no THE best architecture for any one software system
Q&A
Session 2
25
Conclusion
Q&A
26
27
Job Description
This position will be part of a team responsible for improving the quality of internally developed Mutual Fund Customer Service applications. Specific assignments may include large projects as well as small enhancements with both prioritized by business needs. Development takes place in a highly collaborative environment that places value on effective communication skills. Under minimal supervision, the position plans, coordinates and analyses new and existing application designs/techniques to meet current and future needs. The position works with users and developers to analyze, design, and implement application systems and/or enhancements to existing systems and may include leading a team for a specific project. This position provides deep technology expertise in a variety of areas.
Copyright Maveo Systems Shanghai 28
Job Requirements
Advanced knowledge of programming language(s), software development tools and environment(s) and systems analysis and functional design is required. In addition, thorough knowledge of database concepts, database design, data modeling and system architectures is also required. Expert knowledge of application design principles, practices, system development methodologies, (preferably OO), and software life cycles is required. The ideal candidate possesses expert knowledge in one or more highly specialized areas of application development. Experience in application development with the design and programming of multi-tier applications utilizing J2EE technology coupled with strong server programming abilities including Servlets, EJBs, and JSPs is required. Experience with programming in Smalltalk is highly desired. Experience with Envy,Rational Rose, .NET, and/or HTML is helpful.
Copyright Maveo Systems Shanghai 29
Job Description
Senior position with a heavy emphasis on .NET technologies. This position has sales support as well as hands-on responsibilities. Collaborates with customers, designers, and database programmers to construct an optimal web solution using Microsoft tools. Understands the aims of development customers and works with business analysts to ensure those needs are met with the software.
30
Responsibilities
Participate in complete software development lifecycle, including analysis, design, code and unit test, for applications based on Microsoft .NET technologies. Act as "subject matter expert" in assigned area of responsibility. Work with customers to formulate and define application scope and objectives. Build relationships with customers to determine business requirements Build relationships with business partners. Provide technical consultation in new systems development, new package evaluations, and enhancement of existing systems; participate in structured walkthrough and technical reviews. Prepare functional specifications from which programs will be written; design, code, test, debug, and document programs. Keep technical, communications, and business skills current with an emphasis on understanding emerging Microsoft-based web/ecommerce technologies and their impact on Berbee's customers. Plan, schedule, and conduct I-net (Inter/intra/extranet) system tests; monitor test results; and take required corrective action.
Copyright Maveo Systems Shanghai 31
Job Requirements
Broad awareness of basic Internet, intranet, and WWW technologies, including: Inter/intra/extranet tools; Web installation, configuration and performance management; Web navigation, content, linking, and browser tuning; Web security and encryption Experience with .NET servers and tools required Web site design and development experience in a Microsoft environment Working knowledge and skills in ASP, JavaScript, VBScript, and XML as well as upcoming .NET technologies such as ASP.NET and Visual Studio.NET Experience with the Microsoft family of .NET servers including Content Management Server, BizTalk Server, Application Center Server, Sharepoint Portal Server, etc. Working knowledge of SQL Server 2000 with database/Web connectivity familiarity, plus database management and file access methods Strong communications and interpersonal skills Strong problem solving/analysis skills Ability to work well both in teams and independently
Copyright Maveo Systems Shanghai 32
Technical Skills
Requirement gathering/Management Modeling and analysis methodology
33
Leadership
Business acumen
34
Conclusion 1
How do I start
Become an excellent developer who knows why
an expert
Conclusion 2
Technical Ability
alone is never enough
Copyright Maveo Systems Shanghai 36
Q&A
Q&A
37
38